列表的Java JAX-RS @DefaultValue

时间:2018-09-06 14:47:27

标签: java jax-rs swagger

我有一个枚举值列表作为查询参数。我想要一个@DefaultValue(单个值)。是否有一个空列表作为实际参数可以覆盖此默认值?

此问题的原因是Swagger(2.0)显示了枚举字符串值的列表和附加的第一项--。我可以选择任意数量的条目,包括空集。因此,--条目似乎没有多大意义。但是什么也不选择或--条目将导致2个不同的请求URL,其中一个不带参数,而一个带参数的值为空。

因此,我的期望是不带参数的请求会导致一个列表,其中包含服务端的默认值(实际上是这样)。在其他情况下,我希望有一个空列表,这样我就可以用一个空列表覆盖默认值。但事实并非如此。

我还希望默认值将在Swagger UI列表中预先选择,事实并非如此。

因此,第一个问题的答案似乎是no

第二个问题是: Swagger UI列表中的--条目是什么原因或用途?

1 个答案:

答案 0 :(得分:0)

对于问题1,您可以尝试以下操作:

@GET
public Response getList(@QueryParam("enumList") @DefaultValue("#{T(java.util.Collections).emptyList()}") List<EnumType> enumList) {

}