Java JAX-RS @DefaultValue для списка

У меня есть список значений перечисления в качестве параметра запроса. Я хочу иметь @DefaultValue (одно значение). Возможно ли использовать пустой список в качестве фактического параметра для перезаписи этого значения по умолчанию?

Причина этого вопроса в том, что Swagger (2.0) показывает список строковых значений перечисления и дополнительную первую запись --. Я могу выбрать любое количество записей, включая пустой набор. Так что запись -- кажется бессмысленной. Но выбор ничего или запись -- приводит к двум различным URL-адресам запроса, один без параметра, а другой с параметром с пустым значением.

Итак, я ожидал, что запрос без параметра приведет к списку со значением по умолчанию на стороне службы (как это есть на самом деле). И я ожидал, что в другом случае будет пустой список, так что у меня будет способ перезаписать значение по умолчанию также пустым списком. Но, похоже, это не так.

Я также ожидал, что значение по умолчанию будет предварительно выбрано в списке пользовательского интерфейса Swagger, что тоже не так.

Итак, ответ на мой первый вопрос, кажется, no.

Итак, второй вопрос: В чем причина или использование записи -- в списке в пользовательском интерфейсе Swagger?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
492
1

Ответы 1

Для проблемы номер 1 вы можете попробовать что-то вроде этого:

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

}

Другие вопросы по теме