我正在为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+ "\" }");
}
}
答案 0 :(得分:0)
我认为你是以错误的方式在ServeletResponse类中使用方法语法:
void setContentType(java.lang.String type)
所以应该是这样的
response.setContentType("application/json;charset=UTF-8");
希望这有帮助。