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

SpringMvc @Valid如何拋出攔截異常

 更新時(shí)間:2020年09月17日 10:06:47   作者:賈樹(shù)丙  
這篇文章主要介紹了SpringMvc @Valid如何拋出攔截異常,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

SpringMvc中,校驗(yàn)參數(shù)可以使用 @Valid 注解,同時(shí)在相應(yīng)的對(duì)象里使用

@NotBlank( message = "昵稱不能為空")
@NotNull( message = "ID不能為空")
@Pattern(
  message = "不能包括空格"
  , regexp = "\\S+"
)

等等。

這個(gè)校驗(yàn)會(huì)把所有的參數(shù)都校驗(yàn)一遍,所以它的異常里會(huì)好些列表,直接使用e.getMessage(),會(huì)輸出很多累贅的東西

一個(gè)好的解決辦法

@Valid 注解校驗(yàn)住的異常是 org.springframework.validation.BindException

所以可以添加一個(gè)異常攔截器,專門攔截,并且解析這種異常

具體如下:

package cn.jiashubing.config;

import cn.jiashubing.result.ResultModel;
import org.springframework.validation.BindException;
import org.springframework.validation.ObjectError;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.List;

/**
 * @author jiashubing
 * @since 2019/6/17
 */
@ControllerAdvice
public class BingExceptionHandler {

  @ExceptionHandler(BindException.class)
  @ResponseBody
  public ResultModel handleBindException(Exception e) {
    //打印校驗(yàn)住的所有的錯(cuò)誤信息
    StringBuilder sb = new StringBuilder("參數(shù)錯(cuò)誤:[");
    List<ObjectError> list = ((BindException) e).getAllErrors();
    for (ObjectError item : list) {
      sb.append(item.getDefaultMessage()).append(',');
    }
    sb.deleteCharAt(sb.length() - 1);
    sb.append(']');

    String msg = sb.toString();
    return new ResultModel(false, msg);
  }
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java基礎(chǔ)學(xué)習(xí)之字符串知識(shí)總結(jié)

    Java基礎(chǔ)學(xué)習(xí)之字符串知識(shí)總結(jié)

    今天帶著大家復(fù)習(xí)一下Java基礎(chǔ)知識(shí)-字符串,文中介紹的非常詳細(xì),對(duì)初步學(xué)習(xí)Java或者復(fù)習(xí)Java的小伙伴們都很有幫助喲,需要的朋友可以參考下
    2021-05-05
  • springboot-jpa的實(shí)現(xiàn)操作

    springboot-jpa的實(shí)現(xiàn)操作

    這篇文章主要介紹了springboot-jpa的實(shí)現(xiàn)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • 使用Netty搭建服務(wù)端和客戶端過(guò)程詳解

    使用Netty搭建服務(wù)端和客戶端過(guò)程詳解

    這篇文章主要介紹了使用Netty搭建服務(wù)端和客戶端過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 淺談SpringBoot2.3 新特配置文件屬性跟蹤

    淺談SpringBoot2.3 新特配置文件屬性跟蹤

    這篇文章主要介紹了淺談SpringBoot2.3 新特配置文件屬性跟蹤,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Spring容器擴(kuò)展機(jī)制的實(shí)現(xiàn)原理

    Spring容器擴(kuò)展機(jī)制的實(shí)現(xiàn)原理

    這篇文章主要介紹了Spring容器擴(kuò)展機(jī)制的實(shí)現(xiàn)原理,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • 前端如何調(diào)用后端接口進(jìn)行數(shù)據(jù)交互詳解(axios和SpringBoot)

    前端如何調(diào)用后端接口進(jìn)行數(shù)據(jù)交互詳解(axios和SpringBoot)

    一般來(lái)講前端不會(huì)給后端接口,而是后端給前端接口的情況比較普遍,下面這篇文章主要給大家介紹了關(guān)于前端如何調(diào)用后端接口進(jìn)行數(shù)據(jù)交互的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-03-03
  • 利用Java自寫(xiě)一個(gè)生成ID的工具類

    利用Java自寫(xiě)一個(gè)生成ID的工具類

    平時(shí)項(xiàng)目中只要涉及表,那么一定能接觸到眾多各式各樣的ID編號(hào)。本文將通過(guò)Java語(yǔ)言實(shí)現(xiàn)手寫(xiě)一個(gè)ID生成工具類,需要的小伙伴可以參考一下
    2022-11-11
  • 詳解Spring Boot 使用Spring security 集成CAS

    詳解Spring Boot 使用Spring security 集成CAS

    本篇文章主要介紹了詳解Spring Boot 使用Spring security 集成CAS,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • Java編程之文件讀寫(xiě)實(shí)例詳解

    Java編程之文件讀寫(xiě)實(shí)例詳解

    這篇文章主要介紹了Java編程之文件讀寫(xiě)的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Java文件讀寫(xiě)所涉及的類及相應(yīng)的操作技巧,需要的朋友可以參考下
    2015-12-12
  • java編程實(shí)現(xiàn)基于UDP協(xié)議傳輸數(shù)據(jù)的方法

    java編程實(shí)現(xiàn)基于UDP協(xié)議傳輸數(shù)據(jù)的方法

    這篇文章主要介紹了java編程實(shí)現(xiàn)基于UDP協(xié)議傳輸數(shù)據(jù)的方法,較為詳細(xì)的分析了UDP協(xié)議的原理及Java編程實(shí)現(xiàn)數(shù)據(jù)傳輸客戶端與服務(wù)器端的相關(guān)技巧,需要的朋友可以參考下
    2015-11-11

最新評(píng)論

昌吉市| 兴海县| 濮阳县| 德化县| 大宁县| 临西县| 沂源县| 桃园县| 扎兰屯市| 庆元县| 孙吴县| 曲阜市| 读书| 崇明县| 湟中县| 台东县| 彩票| 长治县| 明溪县| 诏安县| 义马市| 临潭县| 得荣县| 德江县| 阳春市| 浦城县| 阜阳市| 宁晋县| 察哈| 垫江县| 永修县| 天津市| 土默特左旗| 札达县| 马鞍山市| 安远县| 奇台县| 清涧县| 于都县| 江华| 佛冈县|