我在POST的资源中收到NULL @HeaderParam。但是,身份验证过滤器会在呼叫到达资源之前拦截呼叫,并成功提取标头信息。相同的标题信息。在资源中结果为空。
它在构造函数中失败并抛出NullPointerException。
资源类代码:
@Path("/profile")
@Consumes(MediaType.APPLICATION_JSON)
public class UserAccountEP {
@HeaderParam("userId")
public String userId;
public UserAccountEP()
{
if(userId==null)
throw new NullPointerException("UserId is null");
}
@POST
@Path("/action")
public void action(String ip) throws IOException {}
}
有人可以看看我做错了吗?
感谢。
答案 0 :(得分:1)
注入发生在构造类之后,因此您无法在构造函数中访问注入的值。
使用@PostConstruct注释回调方法,如下所示。
@PostConstruct
private void validate() {
....
}