gpt4 book ai didi

java - 如何在 `@context HttpServletRequest` 中注入(inject) header ?

转载 作者:行者123 更新时间:2023-11-28 22:25:50 25 4
gpt4 key购买 nike

假设我有这段代码:

@ApplicationPath("...")
public class MyApp extends ResourceConfig {
public SalesLayerApplication() {
this.register(HeaderInjecterFilter.class);
this.register(Test.class);
}
}

@PreMatching
public class HeaderInjecterFilter implements ContainerRequestFilter {
@Override
public void filter(final ContainerRequestContext crc) throws IOException {
crc.getHeaders().add("foo", "bar");
}
}

@Path("/test")
public class Test {
@GET
@Produces(MediaType.TEXT_PLAIN)
public String dump(@Context final HttpServletRequest request) {
return request.getHeader("foo");
}
}

我期望调用其余入口点/test 并检索字符串 bar

但是我看到的都是空的

如果我使用 @HeaderParam("foo"),我会正确检索变量,但我需要通过 @Context HttpServletRequest 进行访问。

最佳答案

为什么您期望将 header 添加到 ContainerRequestContext 也会将其添加到 HttpServletRequest?这些是完全不相关的实体。尝试注入(inject) HttpHeaders 或者您也可以直接注入(inject) ContainerRequestContext

关于java - 如何在 `@context HttpServletRequest` 中注入(inject) header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45106519/

25 4 0
文章推荐: ios - 从项目的 View Controller 中删除所有 -viewDidUnload 的方法
文章推荐: python - Django迁移数据库列顺序
文章推荐: iphone - 如何遍历相机胶卷中存储的所有视频?
文章推荐: python - 从