Java ClientRequestFilter获取路径参数

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

我有一个具有以下定义的JAX-RSREST客户机

@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。它至少应该为您提供一个提取路径段的选项。