问题
Is there a way to add a header into the request via interceptors,but not via explicitly setting a header, when JAX RS Client API is used:
Client client = ClientBuilder.newClient();
Response response = client.target("someUrl").path("somePath").request().get();
In AOP way
回答1:
Create a ClientRequestFilter:
@Provider
public class MyClientRequestFilter implements ClientRequestFilter {
@Override
public void filter(ClientRequestContext requestContext) throws IOException {
requestContext.getHeaders().add("Authorization", "value");
}
}
And register it in your Client:
Client client = ClientBuilder.newClient().register(MyClientRequestFilter.class);
来源:https://stackoverflow.com/questions/33019983/jax-rs-client-api-interceptor