2

Dojo datagrid クライアント側を使用していますが、うまく機能し、ドキュメントによると、列ヘッダーをクリックすると次の 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 に答える