如何设置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环境中注入。
我显然被困在这一点上。如果有人可以提供任何想法,我会非常感激。
提前致谢! 维尼
答案 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
。