我有一个枚举值列表作为查询参数。我想要一个@DefaultValue
(单值)。是否可以将空列表作为实际参数来覆盖此默认值?
这个问题的原因是Swagger(2.0)显示了一个枚举字符串值列表和一个额外的第一个条目--
。我可以选择任意数量的条目,包括空集。所以--
条目似乎毫无意义。但是,选择任何内容或--
条目会产生2个不同的请求URL,一个没有参数,另一个参数为空值。
所以我的期望是没有参数的请求会产生一个列表,其中包含服务端的默认值(实际上是)。我希望在另一种情况下有一个空列表,这样我就可以用空列表覆盖默认值。但事实并非如此。
我还希望在Swagger UI列表中预先选择默认值,但实际情况并非如此。
所以我的第一个问题的答案似乎是no
。
所以第二个问题是:在Swagger UI列表中--
条目的原因或用途是什么?
对于问题1,您可以尝试这样的事情:
@GET
public Response getList(@QueryParam("enumList") @DefaultValue("#{T(java.util.Collections).emptyList()}") List<EnumType> enumList) {
}