使用带有 swagger ui 的 @RequestParam 注释方法 [英] Using @RequestParam annotated method with swagger ui

查看:80
本文介绍了使用带有 swagger ui 的 @RequestParam 注释方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 Springfox 库为 REST 服务生成文档并将其显示在 Swagger UI 中.我按照

但是当我点击 Try it Out 时,请求 URL 格式错误:

http://localhost:8080/customcollection/1/data{?startDate,endDate}?startDate=1&endDate=2

如何修复?

解决方案

这是由线路引起的

 enableUrlTemplating(true)

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

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

I am using Springfox libraries to generate documentation for REST service and display it in Swagger UI. I followed the directions in Springfox documentation.

I have one controller, which uses parameters from query string and the method is mapped as following:

@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)

The resulting mapper in swagger-ui then displayed as:

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

Parameters are displayed correctly in the UI:

But when I click on Try it Out, the request URL is misformed:

http://localhost:8080/customcollection/1/data{?startDate,endDate}?startDate=1&endDate=2

How can it be fixed?

解决方案

This was caused by the line

 enableUrlTemplating(true)

in Docket configuration which I copied from example and forgot to remove.

After removing this line everything is working as expected.

这篇关于使用带有 swagger ui 的 @RequestParam 注释方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆