在 swagger UI 中生成示例示例(在 Spring boot 项目中)
Posted
技术标签:
【中文标题】在 swagger UI 中生成示例示例(在 Spring boot 项目中)【英文标题】:generate sample example in swagger UI (in Spring boot project) 【发布时间】:2017-11-17 12:09:41 【问题描述】:我正在使用 Spring Boot 应用程序并已使用 Swagger UI 进行配置。
我想知道我们是否可以使用示例值预先填充示例值,以便我们可以点击“试试看!”按钮,而无需输入一些示例值来获得响应。
它必须在那里。
有没有办法我们可以使用注释或 Swagger 使用的单独文件来做到这一点?
我正在使用带有 springfox-swagger2:2.7.0 和 springfox-swagger-ui:2.7.0 的 Spring Boot 项目,并使用 gradle 添加了依赖项。
【问题讨论】:
【参考方案1】:由于@ApiParam
属性example
和examples
不起作用(请参阅this issue on GitHub),因此对添加示例的支持有限/不存在。
您可以对简单参数 (@RequestParam
) 执行的操作是添加带有 defaultValue
属性的 @ApiParam
注释,如下所示:
@GetMapping
public List<Foo> findAll(
@RequestParam(required = false)
@ApiParam(defaultValue = "foo") // Put the default value here
String input)
// ...
但是,尚不支持使用 @RequestBody
参数执行此操作。
@RequestBody
参数的一种可能解决方法是单击 Swagger 测试器右侧的代码框,其中显示 示例值。如果您单击它,它将将该示例插入到字段本身中。
【讨论】:
谢谢,我会调查的。同时,我刚刚在mattfrear.com/2015/04/21/… 阅读了有关 swashbuckle 的信息,但它似乎仅适用于 .NET。任何可用于 Java Spring 的东西。 相当肯定 Springfox 是为 Spring 生成 Swagger 文档的最佳方法。 通过插件将其连接起来使用示例非常容易。但是对于您的需要,@g00glen00b 的建议会很好用!! 我想对示例值做同样的事情。有可能吗?【参考方案2】:以下是提供示例的解决方法:
将html注入swagger
@ApiParam(
name="whatever",
value="whatever",
defaultValue="none</p><p>Example: xyz</p>"
)
他们在最新版本 2.9.2
中不提供保护。
【讨论】:
以上是关于在 swagger UI 中生成示例示例(在 Spring boot 项目中)的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 Microsoft 示例在 Azure APIM 中生成 SAS
如何在 Java 中生成与 Python 示例等效的 HMAC?