我对swagger、contracts以及在Spring boot (gradle)项目中的工作都很陌生,在这个项目中我们刚刚开始处理合同。我用过grails,我喜欢你把field defs放在Domain中,然后它会通过堆栈继承。
一个具体的问题,也可能是一个背负的问题。
如何从标准的Controller类生成YAML文件的基本存根?
我知道我应该在controller\src\test\resources目录中创建一个Name-v1-0.yml文件
我在项目中实现了swagger-ui.html,出现了一个非常酷的交互式网页,显示了请求端点和内容。使用在ui json文档网页中发布接口的class SwaggerConfig extends WebMvcConfigurerAdapter。
我相信大家的理解是,测试资源目录中的yml文件将是固定生成的“契约”,并在某种gradle测试方法中使用,以确保API签名和契约要点没有更改,就像基本的junit风格的接口测试一样。(是/否?)
我懒得在这里对自己说,为什么我要手工破解这个愚蠢的文件?从控制器/模型细节可以很容易地为我生成一个yaml文档框架吗?
例如,在页面上,获取一个YML文件并生成ui友好的页面:http://editor.swagger.io/#/
在该页面中有一个非常好的"uber“示例yaml文件,我真的需要编写它吗?我已经编写了Controller、javadoc、带注释的、各种很酷的东西,它们至少应该能够生成一个相当好的YAML起始存根,(我责怪grails不想破坏它!)当然,这是在加入SpringFox注释之前,它做了更多很酷的事情,并真正地去推动更多的测试合同保证。
仅供参考:'spring-boot-starter-web' 'spring-boot-starter-test' 'springfox-swagger-ui', version: '2.4.0'
发布于 2016-04-20 22:34:51
这样啊,原来是这么回事。很简单,为什么我在任何地方都看不到。:)
在浏览器中复制/粘贴资源路径:
http://localhost:8095/v2/api-docs?group=full-api选择生成的内容并复制到剪贴板。
在浏览器中打开Swagger编辑器:
http://editor.swagger.io
选择Paste JSON…从文件菜单。
粘贴生成的Swagger JSON内容并单击Import。
发布于 2016-11-07 20:23:04
有一个特性请求提供规范的yaml表示:https://github.com/springfox/springfox/issues/651
除了进度之外,它还不可用。
https://stackoverflow.com/questions/36745620
复制相似问题