[英]Print Java Object data into server response as JSON String
我想将自定义身份验证服务器响应打印为 JSON 字符串。 我试过这个:
@Component
public class JwtAuthenticationEntryPoint implements AuthenticationEntryPoint {
@Override
public void commence(HttpServletRequest request, HttpServletResponse response,
AuthenticationException ex) throws IOException {
// response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "Unauthorized");
ErrorDetail errorDetail = ErrorDetail.NOT_FOUND;
ErrorResponse errorEntry = new ErrorResponse();
errorEntry.setTitle(errorDetail.getTitle());
errorEntry.setCode(errorDetail.getErrorCode());
HttpStatus httpStatus = ErrorDetail.getHttpStatusBasedOnErrorCode(errorDetail.getErrorCode());
errorEntry.setStatus(httpStatus.value());
errorEntry.setDetail(ex.getMessage());
Map<String, String> extra = new HashMap<String, String>();
extra.put("detail", ex.getMessage());
errorEntry.setExtra(extra);
ErrorResponseDTO errorResponse = new ErrorResponseDTO();
errorResponse.setErrors(Arrays.asList(errorEntry));
response.getOutputStream().println(errorResponse.toString());
}
}
我想让 JSON 变得可读,但我明白了:
org.engine.exception.ErrorResponseDTO@28530766
你知道如何解决这个问题吗?
看起来你打印的是 object,而不是消息,你可以尝试使用类似的东西吗:
errorResponse.getDescription
你可以使用:
errorResponse.getDetail();
供进一步参考:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.