从Restlet请求中读出自定义标头

时间:2014-05-15 10:57:22

标签: java rest httprequest restlet restlet-2.0

我需要从Restlet请求中读出自定义标头。 根据{{​​3}}我试过

Form headers = (Form) request.getAttributes().get("org.restlet.http.headers");
String ltpaToken = headers.getFirstValue("LtpaToken2");

但这导致以下异常:

java.lang.ClassCastException:org.restlet.util.Series无法强制转换为org.restlet.data.Form

因此,我该如何读出这个自定义标题?

谢谢和最诚挚的问候 本

2 个答案:

答案 0 :(得分:1)

这是如何在restlet 2.0.x中实现这一点我假设您使用的是更新版本?在2.1.x尝试

    Series<Header> series = (Series<Header>)getRequestAttributes().get("org.restlet.http.headers");
    series.getFirst("LtpaToken2");

提到了一个快捷方法,所以你不需要魔术字符串org.restlet.http.headers,但我不确定引入哪个版本。

答案 1 :(得分:0)

您也可以使用org.restlet.engine.header.HeaderConstants#ATTRIBUTE_HEADERS类变量代替&#34; org.restlet.http.headers&#34;。

如果你不害怕上课:

((HttpRequest) getRequest()).getHeaders();