开发简单易用的 SDK(简历加分项)
1.为什么需要 Starter?
理想情况:开发者只需要关心调用哪些接口、传递哪些参数,就跟调用自己写的代码一样简单。
开发 starter 的好处:开发者引入之后,可以直接在 application.yml 中写配置,自动创建客户端
2.Starter开发流程
2.1环境初始化
spring-boot-configuration-processor 的作用是自动生成配置的代码提示
依赖(一定要移除 build)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
2.2配置类(启动类)
import icu.luoxi.interfacesdk.client.ApiClient;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
/**
* @author Cao Jiwen
* @version V1.0
*/
@Configuration
@ConfigurationProperties("api.client")//配置的前缀,见2.4
@Data
@ComponentScan
public class ApiClientConfig {
private String accessKey;
private String secretKey;
@Bean
public ApiClient luoXiApiClient() {
return new ApiClient(accessKey, secretKey);
}
}
2.3注册配置类
文件路径:resources/META_INF/spring.factories,创建spring.factories文件
# spring boot starter
org.springframework.boot.autoconfigure.EnableAutoConfiguration=icu.luoxi.interfacesdk.ApiClientConfig
mvn install 打包代码为本地依赖包
创建新项目(复用 server 项目)、测试
2.4新项目引用示例
pom文件引入依赖
<dependency>
<groupId>icu.luoxi</groupId>
<artifactId>interface-sdk</artifactId>
<version>0.0.1</version>
</dependency>
这样配置文件可以使用我们自己开发的SDK了
api:
client:
secret-key: luoxi
access-key: abcdefgh