在Spring REST Docs中包含一个“试用”表单

时间:2017-09-26 17:34:59

标签: spring-boot spring-restdocs

我开始使用Spring REST Docs但是我错过了一个很好的招摇功能......“试一试!”包含HTML表单以测试API的按钮。我得到卷曲链接OK;但我通常使用招摇的形式。 有没有一种简单的方法在Spring REST Docs中执行此操作? 感谢

2 个答案:

答案 0 :(得分:1)

不,我认为它能提供的最接近的是带有示例请求的curl。有一个开放的增强功能可以提供Postman系列https://github.com/spring-projects/spring-restdocs/issues/47,但没有像Swagger try it out!

那么简单

此票证也有点相关https://github.com/spring-projects/spring-restdocs/issues/213

  

我在尝试添加生成Swagger规范的支持时非常沮丧。当您将Swagger描述为提供一个API游乐场时,您已经得出了一个非常重要的区别,许多其他人没有。我坚信,Swagger的UI不能替代API文档,因此使用它对服务或其用户来说并不好。

     

我担心的是,如果Spring REST Docs提供了支持生成a   Swagger规范,然后人们会使用该规范   填充Swagger的用户界面,并考虑记录他们的服务。   这是衡量信任人做正确事情的问题,   而不是鼓励人们用脚射击自己。

答案 1 :(得分:1)

我通过创建一个工具将Spring REST Docs cURL片段转换为Postman集合,为自己解决了这个问题。它可以作为npm包使用:https://www.npmjs.com/package/restdocs-to-postman,可以在命令行和库中使用。这是https://github.com/spring-projects/spring-restdocs/issues/47的一个解决方案。在我看来,像Postman这样的工具很适合试用API。

编辑:有Postman和Insomnia到Swagger的转换器。因此,通过两次转换(对Postman / Insomnia和Postman / Insomnia到Swagger的restdocs),可以获得一个Swagger游乐场。这不是最佳的,但有效。

转换器示例:

编辑2:我已经创建了有关如何使用Spring REST文档创建Swagger游乐场的说明:https://github.com/fbenz/restdocs-to-swagger如果Spring REST Docs直接执行,则需要几个步骤并且会更简单生成一个Swagger文件,但它可以自动运行。