使用带有 swagger 的 @RequestParam 注释方法 ui
Using @RequestParam annotated method with swagger ui
我正在使用 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中正确显示:
但是当我点击 Try it Out 时,请求 URL 格式错误:
http://localhost:8080/customcollection/1/data{?startDate,endDate}?startDate=1&endDate=2
如何修复?
这是由
行引起的
enableUrlTemplating(true)
在 Docket
配置中,我从示例中复制并忘记删除。
删除此行后一切正常。
我正在使用 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中正确显示:
但是当我点击 Try it Out 时,请求 URL 格式错误:
http://localhost:8080/customcollection/1/data{?startDate,endDate}?startDate=1&endDate=2
如何修复?
这是由
行引起的 enableUrlTemplating(true)
在 Docket
配置中,我从示例中复制并忘记删除。
删除此行后一切正常。