0

RESTlet 2.0.11 を使用して、REST-Web-Interface を介して Dojo ベースの Web アプリケーションにデータを提供しています。

dojo のドキュメントによると、ページネーションは HTTP の「content-range」ヘッダーを使用して実現されるため、dojo は次のようなヘッダーを想定しています。

Content-Range: items 0-19/100

(出典: http://dojotoolkit.org/reference-guide/1.7/dojox/data/JsonRestStore.html )

つまり、REST-Api は合計 100 項目のうち最初の 20 項目を提供します。

このように Content-Range ヘッダーを手動で設定する

getResponse().getAttributes().get("org.restlet.http.headers").add(new Parameter("Content-Range", "FooBar")

次のエラーが発生します。

WARNING: Addition of the standard header "Content-Range" is not allowed. Please use the equivalent property in the Restlet API.

restlet のドキュメントによると、プロパティは「message.entity.range」です (出典: http://wiki.restlet.org/docs_2.0/130-restlet.html )

このハッシュマップを直接変更しても成功しませんでした:

getResponse().getAttributes().put("message.entity.range", "FooBat");

有望と思われる別の方法は、setRange() メソッドがあるため、restlet の "Representation" オブジェクトを使用することですが、リクエスト時にオブジェクト参照は null です。

getResponse().getEntity()

私の質問は次のとおりです: Content-Range ヘッダーを Restlet 応答に設定する方法は?

4

1 に答える 1

1

Representation クラスで同等の Java プロパティを使用する必要があるため、これは getResponse().getEntity().setRange(myRange) です。

于 2012-06-30T22:23:06.040 に答える