我正在使用Java 8使用SpringBoot和Spring REST服务构建API . 我刚刚发现了Swagger API,现在我想使我的API Swagger兼容 .
到目前为止,我读到,Swagger是一个记录您的APIS的工具,但也提供了从规范生成客户端和服务器代码的功能(v2中的swagger.json),以及与您的API交互的漂亮的Web界面 .
现在,我想了解一些关于如何继续的建议,因为我已经有一个至少有15个控制器的现有API . 我应该从头开始编写整个规范(swagger.json文件),然后使用codegen生成服务器代码(控制器和对象)吗?或者最好用Swagger-core注释注释现有的控制器,然后从那里生成json规范?
第二种选择对我来说更有意义,但我不知道如何从现有的API生成swagger.json规范(如果可能的话) .
你能给我一些建议吗?
谢谢
2 回答
将swagger与 spring 靴或 spring Cloud 融为一体非常容易 .
只需对现有REST API进行一些注释,它就会自动为您生成完整的swagger规范 . Swagger绝对是最受欢迎的REST API文档框架之一 .
pom.xml依赖项
在springboot应用程序中定义api信息
注释
@EnableSwagger2
为您的Application类注释您的REST API
像这样的东西
你完成了 . 默认情况下包含Swagger UI,您还可以访问JSON格式的swagger规范 . 访问
http://localhost:12001/swagger-ui.html#/
有关更多详细信息,请参阅此代码库:https://github.com/sanketsw/SpringBoot_REST_API
我意识到这是迟到的,但是这里有一个替代方案供您考虑:您可以手工编写OpenAPI API描述,然后让您的实现在启动时读取它并自动配置,而不是从您的实现生成OpenAPI API描述 . 它的URL路由,响应类型等相应 .
即从文档生成实现,而不是从实现生成文档 .
我不知道 Spring 天会有多可行(对不起) . Python和WSGI并不难 .
这是否是一个好主意只是你可以做出的判断 .