如何在Java Restlet中访问请求的标头值? [英] How to access header values of request in Java Restlet?

查看:157
本文介绍了如何在Java Restlet中访问请求的标头值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 Restlet Java 开发Web服务。

I am developing web services using Restlet Java.

为此,我想保护一些Web服务免受未经授权的客户端的攻击。所以我写过Filter类。在该Filter类中,我想获取Request的标题。但是我收到以下错误 -

For this I want to protect some webservices from unauthorized clients. So I have written Filter class. In that Filter class I want to get the headers of the Request. But I am getting the following error -

java.lang.ClassCastException: org.restlet.engine.http.HttpRequest cannot be cast to javax.servlet.http.HttpServletRequest

编码是 -

public class MyFilter extends Filter {

    @Override
    protected int beforeHandle(Request request, Response response) {

        int result = STOP;

        HttpServletRequest httpReq = (HttpServletRequest) request;
        String user_token = httpReq.getHeader("auth");

        if(user_token.equals("xyz")) {
            result = CONTINUE;
        }

        return result;
    }
}

请建议我访问Java Restlet中Request的头部值?

推荐答案

我使用

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

我发现这个 http://blog.yudongli.com/2009/12/get-request-header-in-restlet_13.html 链接有用。

这篇关于如何在Java Restlet中访问请求的标头值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆