Dojo Toolkit使用JsonRest store通过REST调用与您的服务器进行通信。在dGrid中,列标题可排序。单击列时,会向服务器调用排序详细信息。我不知道如何处理这些在我的Java代码中进行排序的调用。使用 Jax-RS(Jersey 1.13),如何构建匹配并响应下面显示的排序查询字符串的restful方法?
例如,按“ID”列排序会产生此http请求:
/rest/Subcategory/?sort(-subcatId)
我不清楚如何使用此语法提取排序查询字符串值。我试过@QueryParam("sort")
但失败了。我目前正在Java中搜索排序示例。我也在搜索Restful Services的编码约定。
答案 0 :(得分:0)
如果您的网址类似于: -
/rest/Subcategory/?sort=subCatID
@QueryParam("sort")
应该有效。我没有多次使用Jersey,但在CXF
中使用了很多次,这也是另一个JAX-RS
规范实现。
CXF
的页面http://cxf.apache.org/docs/jax-rs-basics.html很好地解释了Jaxrs
基础知识。希望这可以帮助。
答案 1 :(得分:0)
您可以将@ServletRequest作为资源方法的参数注入,然后检索查询字符串:
@GET
public Response getSubCategory(@Context HttpRequestServlet request) {
...
request.getQueryString();
...
}
答案 2 :(得分:0)
为了让Dojo将其作为查询参数发送(即使用sort = + someValue或sort = -someValue,请确保设置
"Content-Type":"application/json"
"charset":"UTF-8"
var TrackableRest = declare([Rest, Trackable]);
var interceptStore = new TrackableRest({
target: 'rest/intercepts/',
accepts: "application/json",
sortParam: 'sort',
rangeStartParam: 'offset',
rangeCountParam: 'limit',
headers:{
'Accept': "application/json",
'Content-Type':"application/json",
'charset':"UTF-8"
},
idProperty: 'id'
});