在JAX-RS(RestEasy)中,我想实现一个客户端过滤器,在发送请求之前修改标头,因此我不会为每次调用手动执行此操作.
目前我在接收端这样做是为了在到达资源之前拦截请求.
@Provider
@Priority(Priorities.AUTHENTICATION)
public class AuthenticationFilter implements ContainerRequestFilter {
@Override
public void filter(ContainerRequestContext requestContext) throws IOException {
// read header
}
Run Code Online (Sandbox Code Playgroud)
现在我知道了(如果我错了,纠正我):
在接收端,ContainerRequestFilter可以在请求到达资源并获取请求之前使用.
但我想在客户端实现这一点,在请求发送到服务器之前修改标头.可以使用相同的服务器过滤器,还是有类似于客户端的东西?
小智 5
您必须将ClientRequestFilter注册到您的客户端
Client client = ClientBuilder.newClient().register(MyFilter.class);
@Provider
public class MyFilter implements ClientRequestFilter {
@Override
public void filter(ClientRequestContext ctx) throws IOException {
// modify header before send: ctx.getHeaders()
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2031 次 |
| 最近记录: |