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