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文档(转)