使用Jersey Rest API获取Spring安全性的语法错误

时间:2016-09-06 15:14:55

标签: json spring spring-security

我正在为REST服务进行身份验证。

因此,如果用户未经身份验证,那么我想将用户作为"未经身份验证的用户"作为JSON格式的repsonse。

下面是我的代码。我已将内容类型设置为APPLICATION_JSON,然后我在postman工具上将响应作为语法错误。我可以在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+ "\" }");
      }
}

1 个答案:

答案 0 :(得分:0)

我认为你是以错误的方式在ServeletResponse类中使用方法语法:

void setContentType(java.lang.String type)

所以应该是这样的

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

希望这有帮助。