我使用的是Dojo datagrid客户端,它工作得很好,根据documentation,当单击列标题时,它会生成以下GET请求:
GET http://localhost:8080/books/rest/books?sort(+isbn)
问题是我不能使用Apache Wink框架在服务器端解释查询参数"sort(+isbn)“,因为没有为它设置任何值。例如,我期望的是像"sort=+isbn“这样的东西。
下面是我的服务器端代码:
@Path("/books")
public class BookServiceImpl implements BookService {
...
@GET
@Produces(MediaType.APPLICATION_JSON)
public String getBook(@QueryParam("sort") String sortBy) {
System.out.println("Received Queryparam for sort is " + sortBy);
return "";
}
}
由于"sort(+isbn)“没有赋值给它,它似乎是一个无效的查询参数。不确定为什么Dojo数据网格使用此约定。
如果能帮助我们在Java端解决这个问题,最好使用Wink或其他机制来处理GET请求,我将不胜感激。
发布于 2012-07-19 21:16:46
尝试使用@Context UriInfo
获取完整的uri信息,调用UriInfo.getQueryParameters
获取所有查询参数。我相信sort(+isbn)
会在那里。
https://stackoverflow.com/questions/11553766
复制相似问题