簡體   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