有没有优雅的方式退出ClientRequestFilter?

Is there an elegant way to exit ClientRequestFilter?

我实现了一个 ClientRequestFilter。但是不应过滤客户端的一次调用,这意味着如果请求来自此 class(在我的情况下,class 称为 TokenClient),则该方法应该只是 return。现在,如您所见,我检查了路径,如果它包含 /token,它将 return。但我宁愿检查 class 是否是 ofInstance TokenClient。我该怎么做?

@Provider
public class MyClientRequestFilter implements ClientRequestFilter {

    @Inject
    MyClient myClient;

    @Override
    public void filter(ClientRequestContext clientRequestContext) throws IOException {

        if(clientRequestContext.getUri().getPath().contains("/token"))
        {
            return;
        }

        String token= myClient.getToken();

        clientRequestContext.getHeaders().addFirst("Authorization", "Bearer "+token);
    }
}

有一种方法可以知道哪个方法及其描述 here

基本上你会做类似的事情:

@Override
public void filter(ClientRequestContext clientRequestContext) throws IOException {

    Method targetMethod = (Method)clientRequestContext.getProperty("org.eclipse.microprofile.rest.client.invokedMethod");

    // check target method
    
}