❤ 作者主页:李奕赫揍小邰的博客
❀ 个人介绍:大家好,我是李奕赫!( ̄▽ ̄)~*
🍊 记得点赞、收藏、评论⭐️⭐️⭐️
📣 认真学习!!!🎉🎉
文章目录
- SDK-Starter 讲解
- Starter 开发流程
- 1.首先新建一个项目
- 2.创建springboot项目
- 3.修改maven地址,改成自己的
- 4.修改pom.xml
- 5.修改主类
- 6.添加其他需要引用的类
- 7.测试打包
- 8.在其他项目中引入sdk依赖
- Starter 总结
在上一篇文章中,我们提到作为开发者,每次调用接口都需要处理这一堆繁琐的事情,比如鉴权需要自己生成时间戳,自己写加密算法,生成随机数等等,这些每个开发者写一个接口就要写一遍,这样会相当繁琐,同时开发者自己写加密算法可能还不一样,因此,需要开发一个简单易用的 SDK,使开发者只需关注调用哪些接口、传递哪些参数,就像调用自己编写的代码一样简单
现在的问题是如何开发这样一个 SDK,其实很简单。这里为了让开发者更方便使用 SDK,我们给它提供一个 starter。就跟我们使用springboot-start一样。
SDK-Starter 讲解
开发 starter 的好处:开发者引入之后,可以直接在 application.yml 中写配置,自动创建客户端。
使用 starter 之后,比如,对于 Redis 的 starter,我们可以直接在 application.yml 配置文件中进行相关配置。我们可以在配置文件中简单地定义一个连接到 Redis 的配置块,或者对于 Swagger 接口文档,我们也可以在配置文件中进行相应的配置。这样做的好处是,我们无需手动编写繁琐的配置代码或者创建客户端实例。通过引入适当的 starter,我们就可以直接使用它们提供的代码和客户端。只需在配置文件中进行简单的配置,整个过程就自动完成了。
这正是 starter 的作用所在。使用 starter 的好处就是,开发者引入后可以直接在 application.yml 中进行配置,自动创建相应的客户端。这样使得开发过程更加简单便捷,无需过多关注底层实现细节,而是专注于配置和使用。所以接下来就带大家来做这件事情,让我们编写的 starter 能够为开发者写配置时提供提示,并自动创建客户端(如下图所示的提示)。
Starter 开发流程
1.首先新建一个项目
2.创建springboot项目
然后选择依赖:Lombok、Spring Configuration Processor 后,点击Finish。
3.修改maven地址,改成自己的
4.修改pom.xml
首先来看这个项目的依赖,查看 pom.xml;
既然写 SDK,肯定是有版本号的。
0.0.1,0.0.2都可以
往下看,下面这个东西要删掉,不然会报错(一定要删掉);
这个是 maven 构建项目的方式,我们现在是要构建依赖包,而不是直接运行 jar 包的项目。
5.修改主类
在创建完这个项目之后,默认会生成一个 Spring Boot 的主类JjlApiSdkApplication。然而,我们并不打算运行一个 Web 项目,而是提供一个现成的客户端对象给用户使用。
现在我们的目标是为用户生成一个可用的客户端对象。刚才我们是如何生成的呢?我们手动创建了一个新的对象实例。而现在,我们希望用户能够通过引入 starter 的方式直接使用客户端,而不需要手动创建,所以我们需要编写一个配置类。
删掉主类,创建配置类JjlApiClientConfig.java。
6.添加其他需要引用的类
在上一篇就曾说过,调用接口时需要进行鉴权,通过Api签名认证进行校验,因此需要开发者多次自己写加密算法,生成时间戳等等。然后我们现在可以将生成加密算法写到sdk中。开发人员直接引入依赖直接调用即可。因此导入相关的类和依赖即可。
加密算法和调用接口的方法,都可以直接写在这里
7.测试打包
点击右侧菜单栏中的 maven。点击 Lifecycle → install,把它安装为本地的依赖。
需要将测试中的主类删除掉,我们之前把主类删掉了,所以它执行不了了,会报错。
8.在其他项目中引入sdk依赖
依赖包打完在哪里,你设置的 maven 仓库在哪里,包就在哪里。找到依赖仓库,就在groupId这个包里面。
如果你想给别人使用的话,要去 maven 仓库官网注册一个账号,然后上传上去。
然后去引入我们写好的依赖到其他需要的项目之中。
点击 application.yml 进行配置,依次输入 yuapi,弹出提示,它现在识别出来了我们另外一个项目中写的配置。
在项目中可以直接引用sdk中的类。直接进行使用,不用再多次编写加密算法之类的。让开发者专注于接口的开发。
之后就可以启动项目了进行测试。
Starter 总结
Starter 开发,其实并不难,关键步骤只有几个。开发完后,无论是我的任何一个项目,只要引入这个包,也就是这个 starter,只需要引入这个SDK即可,直接就可以使用。
如果大家之前有开发过项目,写过一些工具类,都可以尝试将其转化为 starter。可以将其发布到 maven 仓库中。