swagger 2 spring boot 生成 yml 文件

Posted

技术标签:

【中文标题】swagger 2 spring boot 生成 yml 文件【英文标题】:swagger 2 spring boot generate yml file 【发布时间】:2016-08-13 05:44:30 【问题描述】:

我是新来的招摇,合同,并在我们刚刚开始处理合同的 Spring boot (gradle) 项目上工作。我用过 grails,喜欢你如何将字段定义放在域中,并且它通过堆栈继承。

一个具体的问题,也可能是一个小猪支持的解释问题。

如何从标准控制器类生成 YAML 文件的基本存根?

我知道我应该在目录中创建一个 [Name]-v1-0.yml 文件 controller\src\test\resources

我已经在项目中实现了 swagger-ui.html,然后出现了一个非常酷的交互式网页,其中显示了请求端点和内容。使用class SwaggerConfig extends WebMvcConfigurerAdapter 在ui json doc 网页中发布接口。

我相信理解是测试资源目录中的 yml 文件将是“合约”的固定生成,并用于某种 gradle 测试方法以确保 API 签名和合约点没有改变,比如接口的基本junit样式测试。 (是/否?)

我懒得想自己了,我为什么要手动破解这个愚蠢的文件? 可以从控制器/模型详细信息中轻松为我生成 yaml 文档骨架吗?

例如在页面上获取一个 YML 文件并做 ui 友好的页面: http://editor.swagger.io/#/

在那个页面中有一个非常好的“uber”示例 YAML 文件,我真的需要写吗,我已经写了控制器、javadoc、注释、各种很酷的东西,至少应该能够生成一个漂亮的yaml 的良好起始存根,(我怪你 grails 不想破解这个!)那当然是在放置 SpringFox 注释之前,这些注释可以做更多很酷的事情,并且真的要去城里推动更多的测试合同保证。

仅供参考: 'spring-boot-starter-web' 'spring-boot-starter-test' 'springfox-swagger-ui', version: '2.4.0'

【问题讨论】:

【参考方案1】:

我明白了。很简单,为什么我在任何地方都没有看到这个。 :)

在浏览器中复制/粘贴资源路径:

http://localhost:8095/v2/api-docs?group=full-api

选择生成的内容并复制到剪贴板。

在浏览器中打开 Swagger 编辑器:

http://editor.swagger.io

从文件菜单中选择粘贴 JSON…。

粘贴生成的 Swagger JSON 内容并点击 Import。

【讨论】:

我可以使用它生成 JSON。但我收到以下错误.. Swagger 错误不是有效的参数定义,知道如何修复错误和警告吗?【参考方案2】:

有一个功能请求提供规格的 yaml 表示:https://github.com/springfox/springfox/issues/651

除了进度之外,暂时还没有

【讨论】:

以上是关于swagger 2 spring boot 生成 yml 文件的主要内容,如果未能解决你的问题,请参考以下文章

怎么在springboot项目中使用swagger-spring-boot-starter

Spring Boot中使用Swagger2生成RESTful API文档(转)

spring boot 中使用swagger 来自动生成接口文档

spring boot整合swagger有啥好处

Spring Boot 2 整合Swagger简单入门

Spring Boot 整合 Swagger3 如何生成接口文档?