Java Jersey:将值从ContainerRequestFilter传递到端点

Java Jersey:将值从ContainerRequestFilter传递到端点,java,rest,servlets,jersey,Java,Rest,Servlets,Jersey,我使用的是Jersey 2.9,我创建了一个过滤器,它将获取一个加密的头值,并对其进行解密,然后将其传递给调用的端点。我不知道如何做到这一点,我一直在互联网上搜索,但没有找到一个具体的例子,我想做什么。过滤器被调用时,我只是在将值从它传递到端点时遇到问题 你们能帮帮我吗 以下是一些示例代码: public class MyFilter implements ContainerRequestFilter { @Override public void filter(Contain

我使用的是Jersey 2.9,我创建了一个过滤器,它将获取一个加密的头值,并对其进行解密,然后将其传递给调用的端点。我不知道如何做到这一点,我一直在互联网上搜索,但没有找到一个具体的例子,我想做什么。过滤器被调用时,我只是在将值从它传递到端点时遇到问题

你们能帮帮我吗

以下是一些示例代码:

public class MyFilter implements ContainerRequestFilter
{

    @Override
    public void filter(ContainerRequestContext requestContext) throws WebApplicationException {

        String EncryptedString = requestContext.getHeaderString("Authentication");

        /* Doing some methods to remove encryption */

        /* Get a string which I want to pass to the endpoint which was called on, in this example: localhost:4883/rest/test */
    }
}

@Path("rest")
public class restTest
{

    @Path("test")
    @GET
    @Produces(MediaType.APPLICATION_JSON)
    public String Testing(){

        /* Process the value from the MyFilter */
    }
}

您可以轻松修改标题或添加另一个标题:

@Override
public void filter(ContainerRequestContext requestContext) throws IOException {
    requestContext.getHeaders().add("X-Authentication-decrypted", decryptedValue);
}
此值可以注入到资源方法中:

@GET
@Produces(MediaType.APPLICATION_JSON)
public String Testing(@HeaderParam("X-Authentication-decrypted") String auth) {

}

我也看到过该线程的可能重复,但作为Java新手,我不知道如何实现它,如果有人能提供我上面示例中的一段代码,我将不胜感激。因为这个问题比链接的问题更具体,我添加了一个答案。啊,这正是我想要的。这似乎是一个非常简单的解决方案,我不知道它可以像那样被修复。非常感谢。