我正在使用jersey版本2.27创建一个jersey应用程序。
我的一个资源是使用@queryparam读取查询参数值。
我正在创建paramconverter和paramconverterprovider,以便指定参数的类型:
@GET
public MyObject getObject(@QueryParam("myvalue") MyParamObject param) {
}
我的问题是,查询参数的解析取决于http头的值。
如何在paramconverter中访问请求的http头?
我尝试在paramconverterprovider中注入containerrequestcontext,但这会导致以下错误:
java.lang.illegalstateexception:不在请求范围内。
1条答案
按热度按时间11dmarpk1#
我注射了一种
ServiceLocator
内部ParamConverterProvider
把它传给ParamConverter
. 这个ParamConverter
然后就可以拿到ContainerRequestContext
在fromString()
方法: