簡體   English   中英

從Spring Exception Handler返回JSON響應

[英]Returning JSON response from Spring Exception Handler

我正在使用下面提到的Spring代碼來處理異常並將響應返回給客戶端。 由於我在這里使用了ResponseBody注釋,因此我期望spring在發生錯誤的情況下返回JSON響應,但是我看到下面的響應在客戶端收到(JSON響應位於responseText內部,而不是直接返回給客戶端)。 請建議我如何將JSON響應返回給Caller-

在客戶端收到的回復:-

Object {readyState: 4, responseText: "{"status":false,"msg":"User Data not available","r…"MARSAPI003","noOfRecords":0,"responseList":null}", responseJSON: Object, status: 403, statusText: "Forbidden"}

春季代碼:-

@ExceptionHandler(MarsUnAuthorizedOperation.class)
@ResponseBody
@ResponseStatus(value=HttpStatus.FORBIDDEN)
public MarsResponse unAuthorizedOperationExceptionHandler(final Exception ex){
    final MarsResponse response = new MarsResponse();
    response.setNoOfRecords(0);
    response.setMsg(ex.getMessage());
    response.setResponseCode(marsMessageProperties.getUnauthorizedOperationErrorCd());
    response.setResponseMessage(marsMessageProperties.getUnauthorizedOperationErrorMsg());
    response.setStatus(false);
    return response;
}

我認為是@ResponseBody批注阻止了spring將MarsResponse對象編組為JSON對象。 嘗試將其刪除並再次檢查。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM