在swagger UI中生成示例示例(在Spring启动项目中)

时间:2017-06-15 06:22:04

标签: spring-boot swagger swagger-ui

我正在使用Spring启动应用程序并使用Swagger UI进行配置。

我想知道我们是否可以使用示例值预先填充示例值,以便我们可以点击"试一试!"按钮,无需输入某些样本值即可获得响应。

必须在那里。

我们有办法使用注释或Swagger使用的单独文件吗?

我正在使用springfox-swagger2:2.7.0和springfox-swagger-ui:2.7.0的spring boot项目,并使用gradle添加了依赖项。

2 个答案:

答案 0 :(得分:2)

由于@ApiParam属性exampleexamples不起作用(请参阅this issue on GitHub),因此对添加示例的支持有限/不存在。

您可以对简单参数(@RequestParam)执行的操作是使用@ApiParam属性添加defaultValue注释,如下所示:

@GetMapping
public List<Foo> findAll(
        @RequestParam(required = false)
        @ApiParam(defaultValue = "foo") // Put the default value here
        String input) {
    // ...
}

但是,对于使用@RequestBody参数执行此操作尚无支持。

@RequestBody参数的可能解决方法是点击Swagger测试仪右侧的代码框,其中显示示例值。如果单击它,它会将该示例插入到字段本身。

答案 1 :(得分:0)

以下是提供示例的解决方法:

将HTML注入到招摇中

$response.SelectSingleNode('lvl1/lvl2/lvl3/lvl4[2]').InnerText # -> 'test2'

# Equivalent commands:
$response.SelectSingleNode('lvl1/lvl2/lvl3/lvl4[2]').'#text'
$response.SelectSingleNode('lvl1/lvl2/lvl3/lvl4[2]/text()').Value

在最新版本@ApiParam( name="whatever", value="whatever", defaultValue="none</p><p>Example: xyz</p>" ) 中,他们并未对此加以保护。