【问题标题】:Read out custom Header from a Restlet Request从 Restlet 请求中读出自定义标头
【发布时间】:2014-05-15 10:57:22
【问题描述】:
我需要从 Restlet 请求中读出一个自定义标头。
根据this我试过了
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
因此,我怎样才能读出这个自定义标题?
感谢和最好的问候
本
【问题讨论】:
标签:
java
rest
httprequest
restlet
restlet-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,但我不确定哪个版本/正在引入。
【解决方案2】:
您也可以使用 org.restlet.engine.header.HeaderConstants#ATTRIBUTE_HEADERS 类变量来代替“org.restlet.http.headers”。
如果你不害怕类转换:
((HttpRequest) getRequest()).getHeaders();