成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

springmvc使用@Valid和@ControllerAdvise實(shí)現(xiàn)請(qǐng)求參數(shù)校驗(yàn)統(tǒng)一異常處理

TerryCai / 1931人閱讀

摘要:使用和實(shí)現(xiàn)請(qǐng)求參數(shù)校驗(yàn)統(tǒng)一異常處理最開始我使用的是。后臺(tái)接口使用方法接收參數(shù),特別麻煩。接收之后,我們還得進(jìn)行一連串的參數(shù)校驗(yàn)。使用接收參數(shù),自動(dòng)將前端參數(shù)解析封裝成實(shí)體類。統(tǒng)一異常處理類實(shí)現(xiàn)完成。

springmvc使用@Valid和@ControllerAdvise實(shí)現(xiàn)請(qǐng)求參數(shù)校驗(yàn)統(tǒng)一異常處理

最開始我使用的是jsp+servlet。后臺(tái)接口使用 request.getParameter(key) 方法接收參數(shù),特別麻煩。接收之后,我們還得進(jìn)行一連串的參數(shù)校驗(yàn)?,F(xiàn)在使用springboot的mvc。使用@ReuestBody接收參數(shù),自動(dòng)將前端參數(shù)解析封裝成實(shí)體類。很方便,但是還是需要校驗(yàn)參數(shù)。下面我介紹一個(gè)簡(jiǎn)單的方式,通過@Valid和@ControllerAdvice注解實(shí)現(xiàn)參數(shù)校驗(yàn)和統(tǒng)一異常處理。

統(tǒng)一異常處理

首先介紹統(tǒng)一異常處理,創(chuàng)建類GlobalExceptionHandler

通過ControllerAdvice和@ExceptionHandler注解,在Controller中發(fā)生的異常錯(cuò)誤就到指定異常處理方法進(jìn)行處理。
查看一下MethodArgumentNotValidException這個(gè)類的源碼

它繼承了Exception,包含參數(shù)和錯(cuò)誤。BindError參數(shù)實(shí)現(xiàn)了error。
統(tǒng)一異常處理類實(shí)現(xiàn)完成。

請(qǐng)求參數(shù)校驗(yàn)

我們?cè)贎RequestBody或者其它注解前面加上@Valid,就可以對(duì)實(shí)體類參數(shù)進(jìn)行校驗(yàn)

通過@Valid注解我們就對(duì)請(qǐng)求的參數(shù)進(jìn)行驗(yàn)證

通過javax的@NotNUll等注解可以進(jìn)行校驗(yàn)。
如果參數(shù)是一個(gè)實(shí)體類,這個(gè)實(shí)體類的參數(shù)也需校驗(yàn),需要在參數(shù)上加上@Valid注解
ok,現(xiàn)在參數(shù)不對(duì)的話,自動(dòng)跳到GlobalExceptionHandler類的指定方法進(jìn)行處理。

未完待續(xù),有問題請(qǐng)留言!
個(gè)人博客地址: https://blog.ailijie.top/arch...

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/75291.html

相關(guān)文章

  • SpringMVC校驗(yàn)器、統(tǒng)一處理異常、RESTful、攔截器】

    摘要:只要有一個(gè)攔截器不放行,不能執(zhí)行完成號(hào)不放行和號(hào)不放行測(cè)試結(jié)果總結(jié)只有前邊的攔截器方法放行,下邊的攔截器的才執(zhí)行。至于他們的攔截器鏈的調(diào)用順序,和的是沒有差別的。 前言 本博文主要講解的知識(shí)點(diǎn)如下: 校驗(yàn)器 統(tǒng)一處理異常 RESTful 攔截器 Validation 在我們的Struts2中,我們是繼承ActionSupport來實(shí)現(xiàn)校驗(yàn)的...它有兩種方式來實(shí)現(xiàn)校驗(yàn)的功能 手寫...

    marser 評(píng)論0 收藏0
  • Spring 參數(shù)校驗(yàn)最佳實(shí)踐(附完整實(shí)例)

    摘要:否則非法請(qǐng)求參數(shù)小則影響用戶體驗(yàn)或者產(chǎn)生垃圾數(shù)據(jù),大則會(huì)拖跨整個(gè)系統(tǒng)其次,手工對(duì)所有的參數(shù)進(jìn)行校驗(yàn)相當(dāng)繁瑣,容易出錯(cuò),而且最后,通過工具來完成其實(shí)是比較好的方式,但是必須讓工具變得優(yōu)雅一些。 聲明:本文屬原創(chuàng)文章,始發(fā)于公號(hào):程序員自學(xué)之道,同步發(fā)布到 sf,轉(zhuǎn)載請(qǐng)注明出處。 不夠好的方案 在 Web 開發(fā)中, 我們經(jīng)常需要校驗(yàn)各種參數(shù),這是一件繁瑣又重要的事情,對(duì)于很多人來說,在做參...

    tomlingtm 評(píng)論0 收藏0
  • SpringMVC學(xué)習(xí)筆記

    摘要:是目前最流行的一種互聯(lián)網(wǎng)軟件架構(gòu)。協(xié)議,是一個(gè)無狀態(tài)協(xié)議,即所有的狀態(tài)都保存在服務(wù)器端。而這種轉(zhuǎn)化是建立在表現(xiàn)層之上的,所以就是表現(xiàn)層狀態(tài)轉(zhuǎn)化。具體說,就是協(xié)議里面,四個(gè)表示操作方式的動(dòng)詞。 一、SpringMVC概述 Spring為展現(xiàn)層提供的基于MVC設(shè)計(jì)理念的優(yōu)秀的Web框架,是目前最主流的MVC框架之一 Spring3.0之后全面超越Struts2,成為最優(yōu)秀的MVC框架 S...

    roundstones 評(píng)論0 收藏0
  • 利用注解對(duì)Bean進(jìn)行校驗(yàn)

    摘要:所以就有今天的話題利用注解對(duì)進(jìn)行校驗(yàn)。利用注解對(duì)進(jìn)行校驗(yàn),主要是利用框架,實(shí)現(xiàn)了的接口關(guān)于校驗(yàn)的接口,直接使用非常方便,省時(shí)省力。 最近寫業(yè)務(wù)代碼,因?yàn)轫撁鎻?fù)雜,導(dǎo)致對(duì)應(yīng)的Bean屬性非常多,而產(chǎn)品大佬又提出各種校驗(yàn)要求。 emmmmmm......如果寫if條件來校驗(yàn),那簡(jiǎn)直是又臭又長(zhǎng)。 所以就有今天的話題——利用注解對(duì)Bean進(jìn)行校驗(yàn)。 利用注解對(duì)Bean進(jìn)行校驗(yàn),主要是利用hib...

    dmlllll 評(píng)論0 收藏0
  • Spring Boot 進(jìn)階

    摘要:我們可不可以提供一個(gè)公共的入口進(jìn)行統(tǒng)一的異常處理呢當(dāng)然可以。一般我們可以在地址上帶上版本號(hào),也可以在參數(shù)上帶上版本號(hào),還可以再里帶上版本號(hào),這里我們?cè)诘刂飞蠋习姹咎?hào),大致的地址如,其中,即代表的是版本號(hào)。 上一篇帶領(lǐng)大家初步了解了如何使用 Spring Boot 搭建框架,通過 Spring Boot 和傳統(tǒng)的 SpringMVC 架構(gòu)的對(duì)比,我們清晰地發(fā)現(xiàn) Spring Boot ...

    galaxy_robot 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<