繁体   English   中英

将 Java Object 数据作为 JSON 字符串打印到服务器响应中

[英]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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM