1. api管理方式背景
随着项目团队不断地规范,开发流程的每一步都在不断的变化,变得更加高效并且方便管理;api管理也经历了不少的变化,主要变化从上到下演进:
2. 需要了解几个概念
这里先介绍基于swagger 2.0生成后端代码,试过open api 3.0去做,但插件不太给力,没有达到我想要的效果,没法达到:基于yaml文件生成client端、server端、springboot完整程序;
3. 使用swagger-codegen完成基于yaml文件生成client端、server端、springboot完整程序
请先阅读,这篇文章,写的不错:spring boot项目使用swagger-codegen生成服务间调用的jar包,百度了很多帖子,就这篇文章给了我想要的效果。
通过这种方法我可以生成一个只带NameApi的接口的程序("interfaceOnly" : "true"),通过对这个程序的打包依赖到项目中,就可以完成对api管理,每次更新api接口只需要编写好yaml重新生成一下jar并依赖到项目中就行,这样还可以减少swagger相关注解的侵入性。通过这种方式只用在controller上实现对于的jar中的接口,还不需要调整service和mapper中的逻辑,service和mapper层还可以通过之前方式直接生成与数据库交互的通用接口。
除此之外swagger-codegen还可以通过"library" : "feign"生产我们想要的客户端代码(jar),这里的客户端代码就是一些封装过的工具,可以通过指定方式去和server交互,如:sso-client.jar就是负责与sso-server进行交互的。swagger-codegen功能还有很多,这里就不一一介绍了。
(adsbygoogle = window.adsbygoogle || []).push({});