2

我正在使用 Dojo 数据网格客户端,它运行良好,根据文档,它在单击列标题时生成以下 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 请求。

4

1 回答 1

2

尝试使用@Context UriInfo获取完整的 uri 信息,调用UriInfo.getQueryParameters以获取所有查询参数。我相信sort(+isbn)会在那里。

于 2012-07-19T13:16:46.017 回答