@RequestParam defaultvalue не принимает значение enum в качестве значения по умолчанию

Я использую контроллер ожидания spring.

Вот код.

@RequestParam(value = "status", required = false, defaultValue = StatusEnum.STATUS.toString())

Если я использую enum как defaultValue, я получаю. Значение атрибута аннотации RequestParam.defaultValue должно быть постоянным выражением.

В соответствии с моим пониманием он должен принимать перечисление как значение по умолчанию.

Пожалуйста, совет.

Ответ 1

Так как это должна быть строка, и она должна быть постоянным выражением, единственным реальным вариантом здесь является использование значения, которое будет работать для Enum.valueOf(), так как это будет окончательно разрешено.

В частности, ваш должен читать

@RequestParam(value = "status", required = false, defaultValue = "STATUS")

Предполагая, конечно, что "STATUS" является строковым значением для StatusEnum.STATUS.