Skip to content

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, "获取应用详情失败.");
}