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

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

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

前言

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

平時(shí)我們?cè)趯懘a的時(shí)候肯定要進(jìn)行很多參數(shù)驗(yàn)證,最開(kāi)始的時(shí)候我們一般都是這樣處理的 如下圖

看起來(lái)好像也沒(méi)什么,但是 如果參數(shù)多了呢?你就會(huì)看到這樣的校驗(yàn)

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

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

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

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

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

OMG的! 這一長(zhǎng)串又蹦出來(lái)了,在頁(yè)面上彈出來(lái)很丑,而且提示不夠明確

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

顯然 是可以的,不過(guò) 這個(gè)設(shè)計(jì)注解的人想給后臺(tái)更多提示,拋出了更詳細(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 "未知錯(cuò)誤";
  }
 }

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

通過(guò)上面簡(jiǎn)單的幾行代碼我們就可以直接拿到

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

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

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

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

總結(jié)

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

相關(guān)文章

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

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

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

    python和java哪個(gè)學(xué)起來(lái)更簡(jiǎn)單

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

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

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

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

    下面小編就為大家?guī)?lái)一篇基于jvm java內(nèi)存區(qū)域的介紹。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    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ū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(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文件上傳下載示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-02-02
  • Kafka簡(jiǎn)單客戶端編程實(shí)例

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

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

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

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

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

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

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

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

最新評(píng)論

永济市| 镇安县| 苗栗市| 新乐市| 阿城市| 正镶白旗| 平武县| 鸡泽县| 罗山县| 苗栗县| 岚皋县| 巴中市| 博爱县| 射洪县| 鄱阳县| 房产| 嘉善县| 延边| 双城市| 英吉沙县| 梧州市| 海林市| 贺兰县| 湘潭市| 芦溪县| 莱州市| 青河县| 玉溪市| 吕梁市| 东辽县| 封丘县| SHOW| 莆田市| 钟山县| 繁峙县| 平利县| 托克逊县| 台北市| 忻城县| 汶上县| 拉孜县|