有没有优雅的方式退出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
}
我实现了一个 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
}