Как отсортировать dojox.grid.DataGrid с помощью REST API на основе Wink?

Я использую клиентскую часть Dojo datagrid, она работает хорошо и согласно документации, при нажатии на заголовок столбца генерирует следующий запрос GET:

GET http://localhost:8080/books/rest/books?sort(+isbn)

Проблема в том, что я не могу интерпретировать параметр запроса «sort (+ isbn)» на стороне сервера с помощью инфраструктуры Apache Wink, потому что для него не задано значение. Например. Вместо этого я ожидал бы что-то вроде "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 datagrid использует это соглашение.

Был бы признателен за помощь в том, как обойти это на стороне Java, в идеале с использованием Wink или другого механизма для обработки запросов GET.


person toby88    schedule 19.07.2012    source источник


Ответы (1)


Попробуйте использовать @Context UriInfo для получения полной информации uri, вызовите UriInfo.getQueryParameters, чтобы получить все параметры запроса. Я верю, что sort(+isbn) будет там.

person Tarlog    schedule 19.07.2012