亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Spring Boot 如何自定義返回錯誤碼錯誤信息

 更新時間:2019年08月13日 10:18:58   作者:小魚兒_karl  
這篇文章主要介紹了Spring Boot 如何自定義返回錯誤碼錯誤信息的相關知識,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下

 說明

•在實際的開發(fā)過程中,很多時候要定義符合自己業(yè)務的錯誤碼和錯誤信息,而不是統(tǒng)一的而不是統(tǒng)一的下面這種格式返回到調用端

INTERNAL_SERVER_ERROR(500, "Internal Server Error"),

下面我們來看看如何將我們自定義的錯誤碼和錯誤信息返回到調用端。

1 自定義錯誤碼

•首先我們要定義一個枚舉類

public enum ErrorEnum {
  /*
   * 錯誤信息
   * */
  E_20011(20011, "缺少必填參數"),
  ;
  private Integer errorCode;
  private String errorMsg;
  ErrorEnum(Integer errorCode, String errorMsg) {
    this.errorCode = errorCode;
    this.errorMsg = errorMsg;
  }
  public Integer getErrorCode() {
    return errorCode;
  }
  public String getErrorMsg() {
    return errorMsg;
  }

2 定義一個異常類

•定義一個異常類繼承RuntimeException類

public class BusinessException extends RuntimeException {
  private static final long serialVersionUID = 1L;
  private Integer code;
  /**
   * @param errorEnum 以錯誤的ErrorEnum做參數
   */
  public BusinessException(ErrorEnum errorEnum) {
    super(errorEnum.getErrorMsg());
    this.code = errorEnum.getErrorCode();
    this.resultJson = CommonUtil.errorJson(errorEnum);
  }
  public Integer getCode() {
    return code;
  }
  public void setCode(Integer code) {
    this.code = code;
  }
}

3 定義一個異常返回的模板類

•模板類定義了如何將異常通過什么形式進行返回。

public class ExceptionResponse {
  private String message;
  private Integer code;
  public ExceptionResponse(Integer code, String message) {
    this.message = message;
    this.code = code;
  }
  public static ExceptionResponse create(Integer code, String message) {
    return new ExceptionResponse(code, message);
  }
  public Integer getCode() {
    return code;
  }
  public String getMessage() {
    return message;
  }
}

4 定義全局處理 Controller 層異常

@ControllerAdvice
@Slf4j
public class ExceptionHandler {

  @ResponseBody
  @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
  @ExceptionHandler(Exception.class)
  public ExceptionResponse handleException(Exception ex) {
    if (ex instanceof BusinessException) {
      log.warn(ex.getMessage(), ex);
      BusinessException businessException = (BusinessException) ex;
      return ExceptionResponse.create(businessException.getCode(), businessException.getMessage());
    } else {
      log.error(ex.getMessage(), ex);
      return ExceptionResponse.create(HttpStatus.INTERNAL_SERVER_ERROR.value(), ex.getMessage());
    }
  }
}

5 演示效果

•定義Controller層

@PostMapping("test/exception")
  public String testException() {
    throw new BusinessException(ErrorEnum.E_20011);
  }

•通過postMan調用返回結果為

{ "message": "缺少必填參數", "code": 20011 }

總結

以上所述是小編給大家介紹的Spring Boot 如何自定義返回錯誤碼錯誤信息 ,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

相關文章

  • java后臺實現支付寶支付接口和支付寶訂單查詢接口(前端為APP)

    java后臺實現支付寶支付接口和支付寶訂單查詢接口(前端為APP)

    這篇文章主要介紹了java后臺實現支付寶支付接口和支付寶訂單查詢接口(前端為APP),非常具有實用價值,需要的朋友可以參考下
    2018-08-08
  • windows下jar包開機自動重啟的步驟

    windows下jar包開機自動重啟的步驟

    這篇文章主要給大家介紹了關于windows下jar包開機自動重啟的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • Java中的集合工具類Collections詳解

    Java中的集合工具類Collections詳解

    這篇文章主要介紹了Java中的集合工具類Collections詳解,java.utils.Collections是集合工具類,用來對集合進行操作,不是Collection集合的根接口,這個要區(qū)分開來,需要的朋友可以參考下
    2024-01-01
  • Java實現經典游戲打磚塊游戲的示例代碼

    Java實現經典游戲打磚塊游戲的示例代碼

    這篇文章主要介紹了如何利用Java實現經典的游戲—打磚塊。玩家操作一根螢幕上水平的“棒子”,讓一顆不斷彈來彈去的“球”在撞擊作為過關目標消去的“磚塊”的途中不會落到螢幕底下。感興趣的小伙伴可以了解一下
    2022-02-02
  • java實現微博后臺登錄發(fā)送微博

    java實現微博后臺登錄發(fā)送微博

    這篇文章主要為大家詳細介紹了java實現微博后臺登錄發(fā)送微博的相關資料,感興趣的小伙伴們可以參考一下
    2016-07-07
  • 基于Java回顧之多線程同步的使用詳解

    基于Java回顧之多線程同步的使用詳解

    在這篇文章里,我們關注線程同步的話題。這是比多線程更復雜,稍不留意,我們就會“掉到坑里”,而且和單線程程序不同,多線程的錯誤是否每次都出現,也是不固定的,這給調試也帶來了很大的挑戰(zhàn)
    2013-05-05
  • 關于SpringBoot禁止循環(huán)依賴解說

    關于SpringBoot禁止循環(huán)依賴解說

    這篇文章主要介紹了關于SpringBoot禁止循環(huán)依賴解說,Spring的Bean管理,文章圍繞主題展開詳細介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-05-05
  • java mybatis框架配置詳解

    java mybatis框架配置詳解

    在本篇文章里小編給大家整理的是一篇關于java mybatis框架配置詳解內容,對此有興趣的朋友們可以參考下。
    2021-02-02
  • 深入理解Java設計模式之組合模式

    深入理解Java設計模式之組合模式

    這篇文章主要介紹了JAVA設計模式之組合模式的的相關資料,文中示例代碼非常詳細,供大家參考和學習,感興趣的朋友可以了解下
    2021-11-11
  • 2019年最新Java學習路線圖

    2019年最新Java學習路線圖

    不管你是不懂電腦的小白,還是已經步入開發(fā)的大牛,這套路線路絕對不容錯過,路線圖的宗旨就是分享,專業(yè),便利,讓喜愛Java的人,都能平等的學習,感興趣的同學可以了解一下
    2019-03-03

最新評論