在 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 属性exampleexamples 不起作用(请参阅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?

如何在 Java 中生成与 Python 示例等效的 HMAC?

如何在 Python 中生成和绘制示例收益率曲线

IBM MFP V8 中未生成 Swagger UI

如何在 Django REST Swagger 中生成响应消息列表?