我需要从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
因此,我该如何读出这个自定义标题?
谢谢和最诚挚的问候 本
答案 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();