gpt4 book ai didi

java - 基于 HTTP header 值的 ParamConverter

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

我正在使用 Jersey 版本 2.27 创建 Jersey 应用程序。

我的资源之一是使用 @QueryParam 读取查询参数值。

我正在创建 ParamConverter 和 ParamConverterProvider,以便我可以指定参数的类型:

@GET
public MyObject getObject(@QueryParam("myvalue") MyParamObject param) {

}

我的问题是查询参数的解析取决于 HTTP header 的值。

如何访问 ParamConverter 内请求的 HTTP header ?

我尝试在 ParamConverterProvider 中注入(inject) ContainerRequestContext,但这会导致以下错误:

java.lang.IllegalStateException: Not inside a request scope.

最佳答案

我设法通过在 ParamConverterProvider 中注入(inject) ServiceLocator 并将其传递给 ParamConverter 来解决这个问题。然后,ParamConverter 可以在 fromString() 方法中获取 ContainerRequestContext:

public Message fromString(final String value) {
final ContainerRequestContext requestContext = injector.getService(ContainerRequestContext.class);
}

关于java - 基于 HTTP header 值的 ParamConverter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53657358/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com