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




Для проблемы номер 1 вы можете попробовать что-то вроде этого:
@GET
public Response getList(@QueryParam("enumList") @DefaultValue("#{T(java.util.Collections).emptyList()}") List<EnumType> enumList) {
}