[英]Setting a custom Content-Range Header in Restlet for use in Dojo pagination fails
[英]Setting a custom Content-Range Header using Restlet
我正在使用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");
似乎有希望的另一种方法是使用restlet的“ Representation”对象,因为它具有setRange()方法,但是在请求期间,对象引用为null:
getResponse().getEntity()
所以我的问题是:如何为Restlet响应设置Content-Range标头?
您必须在Representation类中使用等效的Java属性,因此这是getResponse()。getEntity()。setRange(myRange)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.