最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何優(yōu)雅的拋出Spring Boot注解的異常詳解

 更新時間:2018年12月05日 09:36:52   作者:山岳之巔  
這篇文章主要給大家介紹了關(guān)于如何優(yōu)雅的拋出Spring Boot注解的異常的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

Spring Boot它簡化了配置,內(nèi)嵌式tomcat容器,用于快速開發(fā)基于Spring的應(yīng)用,是一個微框架,本文主要介紹的是關(guān)于如何優(yōu)雅的拋出Spring Boot注解的異常的相關(guān)內(nèi)容,下面話不多說了,來一起看看詳細(xì)的介紹吧

平時我們在寫代碼的時候肯定要進(jìn)行很多參數(shù)驗證,最開始的時候我們一般都是這樣處理的 如下圖

看起來好像也沒什么,但是 如果參數(shù)多了呢?你就會看到這樣的校驗

OMG?。?! 有沒有感覺稍微有點(diǎn)視覺沖擊,雖然這樣寫的已經(jīng)很規(guī)整了,但是還是不夠簡單和優(yōu)雅。

在SpringBoot中,我們可以直接對對象加上@vaild進(jìn)行參數(shù)校驗

這樣寫是不是看起來優(yōu)雅了很多,沒錯!我們就是要追求這種 小即美 的感覺?。。。。?/p>

雖然這樣看起來優(yōu)雅了很多,但是 還有點(diǎn)問題

當(dāng)我們進(jìn)行參數(shù)校驗的時候 會看到

OMG的! 這一長串又蹦出來了,在頁面上彈出來很丑,而且提示不夠明確

為什么就不能彈出來message里面的內(nèi)容呢???

顯然 是可以的,不過 這個設(shè)計注解的人想給后臺更多提示,拋出了更詳細(xì)的內(nèi)容,實(shí)在是丑了點(diǎn)。

于是為了不寫那么丑的代碼,我改造了一些網(wǎng)上的代碼

@ControllerAdvice
public class ExceptionHandle {
 @ExceptionHandler(value = RuntimeException.class)
 @ResponseBody
 public String handle(RuntimeException e) {
  if (e instanceof RuntimeException) {
   RuntimeException exception = e;
   return exception.getMessage();
  } else {
   return "未知錯誤";
  }
 }

 public void exceptionMessage(BindingResult bindingResult) throws SeeingException {
  if (bindingResult.hasErrors()) {
   String msg = bindingResult.getFieldError().getDefaultMessage();
   throw new SeeingException(ErrorCode.BUSINESS_EXCEPTION, msg);
  }
 }
}

通過上面簡單的幾行代碼我們就可以直接拿到

另外兩個參數(shù)是公司框架里面的內(nèi)容,大家可以忽略

這時候只剩下了message里面的內(nèi)容,不過在使用的時候 需要調(diào)用下exceptionMessage方法

還是有些麻煩的,我的想法是可以自定義一個注解,把這部分代碼整合進(jìn)去,有興趣的可以去試下。

不過我們終于還是達(dá)到了目標(biāo)不是。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • Java8新特性O(shè)ptional類及新時間日期API示例詳解

    Java8新特性O(shè)ptional類及新時間日期API示例詳解

    這篇文章主要為大家介紹了Java8新特性O(shè)ptional類及新時間日期API示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • python和java哪個學(xué)起來更簡單

    python和java哪個學(xué)起來更簡單

    在本篇內(nèi)容里小編給大家分享的是一篇關(guān)于python和java哪個學(xué)起來更簡單的相關(guān)內(nèi)容,有興趣的朋友們參考下。
    2020-06-06
  • idea2023.3安裝及配置詳細(xì)圖文教程

    idea2023.3安裝及配置詳細(xì)圖文教程

    IDEA全稱IntelliJ?IDEA,是Java語言對的集成開發(fā)環(huán)境,IDEA在業(yè)界被認(rèn)為是公認(rèn)最好的Java開發(fā)工具,這篇文章主要給大家介紹了關(guān)于idea2023.3安裝及配置的相關(guān)資料,需要的朋友可以參考下
    2023-11-11
  • 基于jvm java內(nèi)存區(qū)域的介紹

    基于jvm java內(nèi)存區(qū)域的介紹

    下面小編就為大家?guī)硪黄趈vm java內(nèi)存區(qū)域的介紹。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • 淺談Java內(nèi)部類與靜態(tài)內(nèi)部類的區(qū)別

    淺談Java內(nèi)部類與靜態(tài)內(nèi)部類的區(qū)別

    本文主要介紹了淺談Java內(nèi)部類與靜態(tài)內(nèi)部類的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 基于Spring Mvc實(shí)現(xiàn)的Excel文件上傳下載示例

    基于Spring Mvc實(shí)現(xiàn)的Excel文件上傳下載示例

    本篇文章主要介紹了基于Spring Mvc實(shí)現(xiàn)的Excel文件上傳下載示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • Kafka簡單客戶端編程實(shí)例

    Kafka簡單客戶端編程實(shí)例

    這篇文章主要為大家詳細(xì)介紹了Kafka簡單客戶端編程實(shí)例,利用Kafka的API進(jìn)行客戶端編程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • Java中操作數(shù)組的Arrays類

    Java中操作數(shù)組的Arrays類

    大家好,本篇文章主要講的是Java中操作數(shù)組的Arrays類,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • Spring?Data?Exists查詢最佳方法編寫示例

    Spring?Data?Exists查詢最佳方法編寫示例

    這篇文章主要為大家介紹了Spring?Data?Exists查詢最佳方法編寫示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • 一文帶你掌握J(rèn)ava開發(fā)者如何接入并使用DeepSeek

    一文帶你掌握J(rèn)ava開發(fā)者如何接入并使用DeepSeek

    對于Java開發(fā)者來說,將DeepSeek集成到項目中,可以極大地提升數(shù)據(jù)處理和分析的效率,下面小編就來為大家介紹一下具體的調(diào)用方法吧
    2025-03-03

最新評論

岐山县| 白水县| 岳阳市| 秦皇岛市| 南平市| 梁平县| 山阳县| 鲜城| 饶河县| 拜泉县| 平遥县| 平顺县| 巩留县| 都安| 简阳市| 临湘市| 怀宁县| 庄河市| 星座| 阆中市| 巨野县| 金华市| 建德市| 右玉县| 钦州市| 锦州市| 巴塘县| 宁武县| 石棉县| 晋中市| 大悟县| 饶阳县| 莱西市| 张家口市| 会同县| 新竹市| 海林市| 昌邑市| 怀安县| 奉化市| 苍山县|