您可以使用ContainerRequestFilter
和檢查方法
@Provider
public class CheckHeaderFilter implements ContainerRequestFilter {
@Override
public void filter(ContainerRequestContext context) {
if (context.getMethod().toUpperCase().equals("GET")) {
String header = context.getHeaderString("SomeHeader");
MultivaluedMap<String, String> headers = context.getHeaders();
if(notValidHEaders) {
context.abortWith(Response.status(400).entity("Bad").build());
// or throw WebApplicationException
}
}
}
}
如果使用包掃描寄存器資源,過濾器也應該得到回升,並由於@Provider
標註的註冊。否則,你需要自己註冊它
參見:
如果你正在使用Spring,你可以使用攔截器來驗證你的頭。 –
您是否檢查過此https://jersey.java.net/documentation/latest/filters-and-interceptors.html - ContainerRequestFilter – Waqas