解析/解组在Java中作为参数传递数组的查询字符串
有没有一种方法可以解析/解组将数组作为Java中的参数传递到Map或自定义类中的查询字符串 URL示例: localhost:8080/app/ws/categories?take=10&skip=10&page=2&pageSize=10&filter[logic]=和&filter[filters][0][field]=公司id&filter[filters][0][operator]=eq&filter[filters][0][value]=1513 我需要像这样解析过滤器参数: 公共类过滤器{ 私有字符串逻辑; 私有列表过滤器; 公共类过滤器{ 私有字符串字段; 私有字符串运算符; 私有字符串值; } } 还有一点-我在这里使用Jersey,也许它可以使用Jersey的工具解析/解包@QueryParam解析/解组在Java中作为参数传递数组的查询字符串,java,url,query-string,jersey,kendo-ui,Java,Url,Query String,Jersey,Kendo Ui,有没有一种方法可以解析/解组将数组作为Java中的参数传递到Map或自定义类中的查询字符串 URL示例: localhost:8080/app/ws/categories?take=10&skip=10&page=2&pageSize=10&filter[logic]=和&filter[filters][0][field]=公司id&filter[filters][0][operator]=eq&filter[filters][0][value]=1513 我需要像这样解析过滤器参数: 公共类过
无论如何,任何其他Java解决方案都可以。我建议两件事: 或者您想要执行GET,然后保持RESTful方法,我会有一个Url,如: localhost:8080/app/ws/categories?take/10/skip/10/page/2/pageSize/10/filter/logic/和/…等等
或者POST是可以接受的,我会发送JSON负载,我们可以使用JAXRS 2.0规范中的@BeanParam来完成
public PageableResponse<PatientBundleType> getPatientBundles(@BeanParam final PageableBeanParam paging)
{
...
}
public class PageableBeanParam
{
public PageableBeanParam(@Context final UriInfo uriInfo)
{
for (Entry<String, List<String>> param : params.entrySet())
{
String key = param.getKey();
String value = param.getValue().iterator().next();
if ("pageSize".equals(key))
{
setPageSize(Integer.valueOf(value));
}
...
}
}
}
即使它存在。。。如果没有大量的反射行,您将如何从标准Java代码中使用它?反射现在不是问题幸运的是,我买不起这个解决方案,因为我使用的是KendoUIGrid,它以指定的问题格式查询REST服务,由于某些原因,我无法修改它们的核心代码。我认为这不是RESTful方法@Dzmitry的格式是正确的。