swagger 2 spring boot生成yml文件

时间:2016-04-20 13:37:25

标签: spring spring-boot yaml swagger swagger-2.0

我很擅长招摇,合同,并致力于Spring boot(gradle)项目,我们刚开始处理合同。我已经使用过grails,喜欢你如何在域中放置字段defs,它会通过堆栈继承。

一个特定的问题,也许是一个捎带的splanation问题。

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

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

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

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

我在这里懒惰地想着,为什么我要把这个愚蠢的文件交给他? 从控制器/模型细节中可以很容易地为我生成yaml doc骨架吗?

例如,在页面上采用YML文件并执行ui友好页面: http://editor.swagger.io/#/

有一个非常好的" uber"在该页面中示例YAML文件,我是否真的需要编写它,我已经编写了Controller,javadoc,带注释,各种很酷的东西应该能够生成至少一个非常好的yaml的起始存根,(我责备你不想破解这个问题!)当然,在使用SpringFox注释做更多很酷的事情并真正去城镇推动​​更多的测试合同保证之前。

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

2 个答案:

答案 0 :(得分:13)

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

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

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

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

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

http://editor.swagger.io

从“文件”菜单中选择“粘贴JSON ...”。

粘贴生成的Swagger JSON内容,然后单击“导入”。

答案 1 :(得分:2)

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

除了进展之外,还没有进展