fine-commons模块
- 工具类
依赖
- pom.xml
xml
<!--fine-commons-->
<dependency>
<groupId>cn.finemap</groupId>
<artifactId>fine-commons</artifactId>
<version>${fine.version}</version>
</dependency>创建子模块:fine-commons
- 在fine-parent中创建:fine-commons子模块
fine-commons
- 创建子模块:New > Module...
- 添加公共组件的依赖
- 维护工具类
- 添加接口文档插件,打包工具类文档
依赖、添加接口文档插件
- fine-commons/pom.xml
xml
<!-- 依赖 -->
<dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>${hutool.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${apache.commons.version}</version>
</dependency>
<dependency>
<groupId>com.github.oshi</groupId>
<artifactId>oshi-core</artifactId>
<version>${oshi.version}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</dependency>
<dependency>
<groupId>cn.finemap</groupId>
<artifactId>fine-doc</artifactId>
<version>${fine.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
<!-- 接口文档插件 -->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<source>${java.version}</source>
<doclint>none</doclint>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>打包接口文档
install同步在fine-commons/target/apidocs下生成文档
维护父工程:fine-parent
fine-parent
- 添加该子模块
- 在父工程中,管理版本参数
pom
- fine-parent/pom.xml
xml
<!-- 版本参数 -->
<properties>
<!-- fine-commons -->
<fastjson.version>2.0.57</fastjson.version>
<hutool.version>5.8.23</hutool.version>
<apache.commons.version>3.14.0</apache.commons.version>
<oshi.version>6.8.1</oshi.version>
<lombok.version>1.18.30</lombok.version>
</properties>fine-commons使用
网络请求
RestTemplate
java
// 创建对象
private static final RestTemplate restTemplate = new RestTemplate();
// get请求
public void get() {
// 请求路径
String url = "http://127.0.0.1:8080/get?arr=[]&obj={}";
// 请求头
HttpHeaders headers = new HttpHeaders();
// 添加Cookie,注意这里的格式应该是 "name=value; name2=value2"
headers.add(HttpHeaders.COOKIE, "JSESSIONID="+getJSessionId());
// 创建HttpEntity对象
HttpEntity<String> entity = new HttpEntity<>("parameters", headers);
// 发生请求
ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.GET, entity, String.class);
if (response.getStatusCode() == HttpStatus.OK) {
System.out.println(response.getBody());
}else {
throw new RuntimeException("查询失败");
}
}RestUtils
- 内部也是基于
RestTemplate
java
// get请求
String url = "http://127.0.0.1:8080/get?arr=[]&obj={}";
try {
ResponseEntity<Result> response = RestUtils.get(url, Result.class);
if (response.getStatusCode() == HttpStatus.OK ) {
System.out.println(response.getBody());
}else{
return new Result(ResultCodes.ERROR, "接口异常:" + url, "获取应用详情失败.");
}
}catch (Exception e){
return new Result(ResultCodes.ERROR, "接口异常:" + url, "获取应用详情失败.");
}
// post请求
String url = "http://127.0.0.1:8080/post";
Map<String, String> params = Map.of(
"arr", "[]",
"obj", "{}"
);
try {
ResponseEntity<Result> response = RestUtils.postForm(url, params, Result.class);
if (response.getStatusCode() == HttpStatus.OK ) {
System.out.println(response.getBody());
}else{
return new Result(ResultCodes.ERROR, "接口异常:" + url, "获取应用详情失败.");
}
}catch (Exception e){
return new Result(ResultCodes.ERROR, "接口异常:" + url, "获取应用详情失败.");
}