用于List的Java JAX-RS @DefaultValue

问题描述 投票:0回答:1

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

这个问题的原因是Swagger(2.0)显示了一个枚举字符串值列表和一个额外的第一个条目--。我可以选择任意数量的条目,包括空集。所以--条目似乎毫无意义。但是,选择任何内容或--条目会产生2个不同的请求URL,一个没有参数,另一个参数为空值。

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

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

所以我的第一个问题的答案似乎是no

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

java jax-rs swagger
1个回答
0
投票

对于问题1,您可以尝试这样的事情:

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

}
© www.soinside.com 2019 - 2024. All rights reserved.