【问题标题】:Java JAX-RS @DefaultValue for List用于列表的 Java JAX-RS @DefaultValue
【发布时间】:2018-09-06 14:47:27
【问题描述】:

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

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

所以我的期望是,没有参数的请求会在服务端生成一个具有默认值的列表(实际上是这样)。在另一种情况下,我期望一个空列表,这样我就有办法用一个空列表覆盖默认值。但似乎并非如此。

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

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

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

【问题讨论】:

    标签: java jax-rs swagger


    【解决方案1】:

    对于第 1 个问题,您可以尝试以下方法:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-06
      • 1970-01-01
      • 2015-08-02
      • 2011-08-26
      • 2016-12-18
      • 1970-01-01
      • 2012-06-26
      • 1970-01-01
      相关资源
      最近更新 更多