2015-10-20 98 views
0

我在POST的资源中获取了NULL @HeaderParam。但是,身份验证筛选器会在呼叫到达资源前拦截呼叫并成功提取标题信息。相同的标题信息。在资源中结果为空。Jersey @HeaderParam null在POST中

它在构造函数中失败并抛出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 {} 

}

是否有人可以看看我在做什么错?

谢谢。

回答

1

注入发生在构造类之后,所以你不能在构造函数中访问注入值。

使用@PostConstruct来注释一个回调方法,如下所示。

@PostConstruct 
private void validate() { 
    .... 
} 
+0

那么,有没有我可以用来验证注入值的注入监听器?不过谢谢。 – TBA

+0

它的工作,谢谢:) – TBA