Передача списка Enum Spring REST с использованием метода Get @QueryParam
Я использую Spring, и мне нужно передать список, состоящий из значений enum, используя метод GET. Можно ли использовать @QueryParam для списка? Если да, то как и как мы можем отправить его через URL.
Я использовал @QueryParam List enumValues и отправлял данные через URL как enumValues =value1&enumVales=value2.
Но я получаю следующую ошибку:
org.springframework.beans.BeanInstantiationException: не удалось создать экземпляр [java.util.List]: указанный класс является интерфейсом
Пожалуйста помоги!
1 ответ
Вы столкнулись с этой проблемой, потому что вы используете аннотацию JAX-RS @QueryParam
с весны. Spring не совместим с каркасом JAX-RS, это полностью две разные каркасы MVC. Если вы предпочитаете использовать аннотацию Spring @RequestParam
, конфигурация проста, и она создаст список Enum для вас:
- Параметры вашего запроса будут выглядеть так:
enumValues=value1&enumVales=value2
- Ваша весенняя RequestMapping будет выглядеть так:
@RequestParam(value="enumValues")List<EnumValues> enumValues