Как поддержать разделенный запятыми queryParam в RestEasy - PullRequest
0 голосов
/ 22 ноября 2018

При использовании списка в качестве QueryParam в RestEasy, (@QueryParam List strings), следующий URL работает нормально -? Strings = 123 & strings = 456 это работает, и вы получаете список с 2 значениями.

но когда выпередать значение следующим образом -? strings = 123,456, оно выдает «123,456» в качестве единственного значения, которое не является ожидаемым поведением.

Как получить строки = 123,456 в виде списков из 123 и 456.

Один из вариантов - создать класс Provider для Set и изменить метод fromString и метод toString, после того как эти строки = 123 456 начинают работать, и он дает список с двумя элементами и 123 и 456, но строки = 123 & strings = 456 теперь не работают, и он дает списоктолько с одним элементом 123.

Дайте мне знать, как я могу получить оба поведения в RestEasy QueryParam.

1 Ответ

0 голосов
/ 03 декабря 2018

Я исправил эту проблему, реализовав ContainerRequestFilter, и в методе фильтра обновил фактический URL-адрес и вернул его обратно в requestContext.например, оригинальный URl - http://localhost:8080/api?tags=123,456

обновленный URL - http://localhost:8080/api?tags=123&tags=456

...