使用带有swagger ui的@RequestParam注释方法

时间:2015-10-27 20:00:54

标签: spring-boot swagger-ui swagger-2.0 springfox

我正在使用Springfox库来生成REST服务的文档,并在Swagger UI中显示它。我按照Springfox documentation中的说明进行操作。

我有一个控制器,它使用查询字符串中的参数,方法映射如下:

@ApiOperation(value = "")
@RequestMapping(method = GET, value = "/customcollection/{id}/data")
public Iterable<CustomeType> getData(@ApiParam(value = "The identifier of the time series.") 
    @PathVariable String id,
    @ApiParam(name = "startDate", value = "start date", defaultValue = "")
    @RequestParam("startDate") String startDate,
    @ApiParam(name = "endDate", value = "end date", defaultValue = "")
    @RequestParam("endDate") String endDate)

swagger-ui中生成的映射器显示为:

GET /customcollection/{id}/data{?startDate,endDate}

参数在UI中正确显示:enter image description here

但是当我点击“试用”时,请求网址错误:

http://localhost:8080/customcollection/1/data {的startDate,结束日期?}的startDate = 1&安培;结束日期= 2

如何解决?

1 个答案:

答案 0 :(得分:22)

这是由行

引起的
 enableUrlTemplating(true)

Docket配置中,我从示例中复制并忘记删除。

删除此行后,一切都按预期工作。