如何在RestEasy中支持逗号分隔列表queryParam

时间:2018-11-22 11:56:20

标签: java list resteasy query-parameters

在RestEasy中将列表用作QueryParam时(@QueryParam列表字符串), 以下网址可以正常工作- ?strings = 123&strings = 456 这行得通,您将获得包含2个值的列表。

,但是当您按以下方式传递值时- ?字符串= 123,456 它将“ 123,456”作为单个值提供,这不是预期的行为。

如何获取字符串= 123,456作为123和456的列表。

一个选项是为Set创建Provider类,并修改fromString和toString方法,此字符串= 123,456开始工作并给出具有两个元素以及123和456的列表,但是string = 123&strings = 456现在不起作用并且它给出仅包含一个元素123的列表。

让我知道如何在RestEasy QueryParam中获得两种行为。

1 个答案:

答案 0 :(得分:0)

我通过实现ContainerRequestFilter修复了此问题,并在filter方法中更新了实际URL,并将其重新设置为requestContext。 例如原始URl- http://localhost:8080/api?tags=123,456

更新的网址- http://localhost:8080/api?tags=123&tags=456