我使用一个名为tabulator的javascript库在客户端的表中显示数据。
制表器js库提供了对ajax请求的查询参数中的 filters 表示进行编码的功能。例如,查询参数如下所示:
filters
https://host/myEndpoint?size=10&page=1&filters%5B0%5D%5Bfield%5D=username&filters%5B0%5D%5Btype%5D=like&filters%5B0%5D%5Bvalue%5D=filteredBy
下面是解码后的相同url:
https://host/myEndpoint?size=10&page=1&filters[0][field]=username&filters[0][type]=like&filters[0][value]=filteredBy
如果可能,我希望有一个Resteasy端点,如下所示:
@GET @Path("/myEndpoint") @Consumes("application/json") @Produces("application/json") public Response myEndpoint(@QueryParam("page") Integer page, @QueryParam("size") Integer size, @QueryParam("filters") List<Filter> filters) {
resteasy解释 page 和 size 没有问题,但 filters 总是一个大小为0的列表。
page
size
我的 Filter bean有3个字段,分别名为 field 、 type 和 value ,其中的构造函数只有一个 String 参数,如 here 所述。
Filter
field
type
value
String
但是resteasy似乎不能识别和解析 filters 查询参数?可以在resteasy中解析这种类型的嵌套数组结构查询参数吗?
filters[0][field]=username&filters[0][type]=like&filters[0][value]=filteredB
618夏日盛惠
2核2G云服务器首年95元,GPU云服务器低至9.93元/天,还有更多云产品低至0.1折…
我仍然希望有更好的方法,但这里有一个可能的解决方案,至少目前对我有效:
@GET @Path("/myEndpoint") @Consumes("application/json") @Produces("application/json") public Response myEndpoint(@QueryParam("page") Integer page, @QueryParam("size") Integer size, @Context UriInfo uriInfo) {