【问题标题】: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();
      

      【讨论】:

        猜你喜欢
        • 2023-03-21
        • 2017-09-28
        • 2020-03-11
        • 2014-08-08
        • 2016-06-24
        • 2013-11-13
        • 2014-08-13
        • 1970-01-01
        • 2011-03-04
        相关资源
        最近更新 更多