我尝试从这个 URL 截取参数
http://myapi.com/myobject?filter[0][name]=location&filter[0][value]=FR&filter[1][name]=type&filter[0][value]=real。
我如何在我的方法上声明这个“过滤器”参数来获取所有这些地图值?
谢谢
我不认为它可以“自动”完成,我会做这样的事情:
@Path("/myobject")
@GET
public Response myMethod(@Context UriInfo uriInfo) {
MultivaluedMap<String, String> queryParams = uriInfo.getQueryParameters();
// parse the map keys
}
在 queryParams 映射中,您将拥有{"filter[0][name]" => location, filter[0][value] => FR, ...}
需要进一步解析的键值对。解析键可让您从查询中重建原始地图。那不会是一段漂亮的代码,但会起作用。