Java ClientRequestFilter获取路径参数
我有一个具有以下定义的JAX-RSREST客户机Java ClientRequestFilter获取路径参数,java,jax-rs,quarkus,quarkus-rest-client,Java,Jax Rs,Quarkus,Quarkus Rest Client,我有一个具有以下定义的JAX-RSREST客户机 @PUT @Path("/payments/{paymentId}/operation") void call(@PathParam("paymentId") String paymentId, Object request); 我想拦截此传出请求并读取ClientRequestFilter中的paymentId值 @Provider public class TracingInterceptor imp
@PUT
@Path("/payments/{paymentId}/operation")
void call(@PathParam("paymentId") String paymentId, Object request);
我想拦截此传出请求并读取ClientRequestFilter
中的paymentId
值
@Provider
public class TracingInterceptor implements ClientRequestFilter {
public static final String PAYMENT_ID = "paymentId";
@Context
UriInfo info;
@Override
public void filter(ClientRequestContext requestContext) {
// read paymentId
}
}
我尝试了UriInfo
,它适用于ContainerRequestFilter
,但上下文在ClientRequestFilter
中不可用
@Provider
public class TracingInterceptor implements ClientRequestFilter {
public static final String PAYMENT_ID = "paymentId";
@Context
UriInfo info;
@Override
public void filter(ClientRequestContext requestContext) {
// read paymentId
}
}
如何读取
ClientRequestFilter
中的特定路径参数?使用ClientRequestContext\getUri
:。您能从中提取它们吗@上下文私有HttpServletRequest servletRequest;这将返回一个URI,并且没有内置的方法从UriInfo中提取正确的PathParam参数查看ResteasyUriInfo
以重建UriInfo。它至少应该为您提供一个提取路径段的选项。