Swagger-ui - 列出参数编码

时间:2014-12-12 13:43:44

标签: java jax-rs resteasy swagger swagger-ui

如何设置swagger-ui以正确编码参数列表? 例如:我有一个服务,它接收以下格式的整数列表:

http://server/api/resource?id=1&id=2&id=3

但是,在我的swagger-ui文档中,参数显示为单个文本字段,需要以逗号分隔的列表。如果我提供这种格式的参数,我从服务获得以下响应(使用RestEasy,btw编写):

  

无法从http请求中提取参数:   公共的javax.ws.rs.QueryParam(\“id \”)值为'1,2,3'   javax.ws.rs.core.Response   companyname.methodname(的的java.util.List )“

使用一组maven插件生成swagger规范:swagger-jersey-jaxrs,swagger-annotations,swagger-core和swagger-jaxrs。主要的swagger规范json是在应用程序启动时通过com.wordnik.swagger.jaxrs.config.BeanConfig生成的,在我的spring环境中注入。

我显然被困在这一点上。如果有人可以提供任何想法,我会非常感激。

提前致谢! 维尼

1 个答案:

答案 0 :(得分:2)

使用Swagger 1.2和相应的swagger-ui,没有很好地定义和实现对重复查询参数名称的支持。

要正确支持它,您需要转到Swagger 2.0和最新版本的swagger-ui(当前主控)。

对Swagger 2.0的Swagger-Core支持目前正在开发中,但已接近里程碑版本。您可以从sonatype获取SNAPSHOT,或者自己从github存储库的develop_2.0分支构建它。支持Swagger 2.0的swagger-core版本是1.5。

对它的支持是通过collectionFormat属性完成的,其值为multi