2016-09-06 91 views
0

我正在为REST服务进行身份验证。使用Jersey Rest API获取Spring安全性的语法错误

因此,如果用户未经身份验证,那么我想以“未经身份验证的用户身份”作为repsonse以JSON格式发送用户。

下面是我的代码。我已经将内容类型设置为APPLICATION_JSON,然后我收到邮递员工具上的语法错误响应。我可以在plainText或Xml中看到确切的错误,但无法在JSON中看到响应。

有没有人可以帮助我从这个问题脱身请。

@Override 
public void commence(HttpServletRequest request, HttpServletResponse response, 
     AuthenticationException authException) throws IOException { 

     response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); 
     response.setHeader("Connection", "keep-alive"); 
     response.setContentType(MediaType.APPLICATION_JSON); 
     String msg = authException.getMessage(); 
     response.getOutputStream().println("{ \"error\": \"" + msg+ "\" }"); 
     } 
} 

回答

0

我认为你正在做它在错误的方式在ServeletResponse类中的方法语法是:

无效的setContentType(java.lang.String中类型)

所以它应该是这样的

response.setContentType("application/json;charset=UTF-8"); 

希望这会有所帮助。

+0

我真的这样做的方式是错误的...创建pojo类的xmltype并在JSON中发送响应 – ashishl