日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

校验json格式_不来学一下SpringBoot统一参数校验?

發布時間:2025/3/15 javascript 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 校验json格式_不来学一下SpringBoot统一参数校验? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • 微服務架構之春招總結:SpringCloud、Docker、Dubbo與SpringBoot
  • 一個SpringBoot問題就干趴下了?我卻憑著這份PDF文檔吊打面試官.
  • 金三銀四第一天,啃透這些SpringBoot知識點,還怕干不贏面試官?

前言

??在日常的開發中,參數校驗是非常重要的一個環節,嚴格參數校驗會減少很多出bug的概率,增加接口的安全性。也會減少對接時不必要的溝通。比如說:在對接的時候前端動不動就甩個截圖過來說接口有問題,你檢查了半天發現前端傳遞的參數有問題。針對以上:今天給大家分享一下SpringBoot如何實現統一參數校驗。

實現方式

??使用 @Validated注解配合參數校驗注解, 比如:@NotEmpty對參數進行校驗。然后對拋出的異常ControllerAdvice進行捕獲然后調整輸出數據。

TestController

@RestControllerpublic?class?TestController?{????/**?????*?表單請求?????*?@param?form?請求參數?????*?@return?響應數據?????*/????@PostMapping("/formRequest")????public?ResultVo?formRequest(@Validated?RequestForm?form){????????return?ResultVoUtil.success(form);????}????/**?????*?JSON請求?????*?@param?form?請求參數?????*?@return?響應數據?????*/????@PostMapping("/jsonRequest")????public?ResultVo?jsonRequest(@RequestBody?@Validated?RequestForm?form){????????return?ResultVoUtil.success(form);????}}

RequestForm

@Datapublic?class?RequestForm?{????@NotEmpty(message?=?"姓名不能為空")????private?String?name;????@Min(value?=?1?,?message?=?"年齡不能小于1歲")????private?Integer?age;????@NotEmpty(message?=?"性別不能為空")????private?Integer?sex;}

測試結果

請求:http://localhost:8080/formRequest 不傳任何參數。

這個時候SpringBoot已經根據校驗注解對參數進行校驗了。并且輸出了一大堆的錯誤信息。這個時候前端在對接的時候看到這樣的錯誤信息,反手就是給你截個圖告訴你接口有問題。所以這個時候就該使用 ControllerAdvice規范異常返回信息了。

ControllerAdvice

@Slf4j@RestControllerAdvicepublic?class?ControllerAdvice?{????/**?????*?攔截表單參數校驗?????*/????@ResponseStatus(HttpStatus.OK)????@ExceptionHandler({BindException.class})????public?ResultVo?bindException(BindException?e)?{????????BindingResult?bindingResult?=?e.getBindingResult();????????return?ResultVoUtil.error(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());????}????/**?????*?攔截JSON參數校驗?????*/????@ResponseStatus(HttpStatus.OK)????@ExceptionHandler(MethodArgumentNotValidException.class)????public?ResultVo?bindException(MethodArgumentNotValidException?e)?{????????BindingResult?bindingResult?=?e.getBindingResult();????????return?ResultVoUtil.error(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());????}}

@RestControllerAdvice會將返回的數據以json輸出,如果不需要可以使用@ControllerAdvice

以上代碼只返回了錯誤信息。可以根據實際情況進行調整。

這個時候的錯誤信息就比較友好了,非常明確的指出了缺少參數。

常用校驗注解

案例

@Datapublic?class?ExampleForm?{????@NotEmpty(message?=?"姓名不能為空")????@Length(min?=?1?,?max?=?10?,?message?=?"名字長度1~10")????private?String?name;????@Range(min?=?1?,?max?=?99?,?message?=?"年齡范圍在1~99歲")????private?Integer?age;????@Pattern(regexp?=?"^[1][3,4,5,7,8][0-9]{9}$"?,?message?=?"電話號碼有誤")????private?String?phone;????@Email(message?=?"郵箱格式有誤")????private?String?email;????@Valid????@Size(min?=?1?,max?=??10?,?message?=?"列表中的元素數量為1~10")????private?List?requestFormList;????@Future(message?=?"開始時間必須大于當前時間")????private?Date?beginTime;}

實現嵌套驗證

??在實際的開發中,前臺會后臺傳遞一個list,我們不僅要限制每次請求list內的個數,同時還要對list內基本元素的屬性值進行校驗。這個時候就需要進行嵌套驗證了,實現的方式很簡單。在list上添加@Vaild就可以實現了。

@Datapublic?class?JsonRequestForm?{????@Vaild????@Size(min?=?1?,max?=??10?,?message?=?"列表中的元素數量為1~10")????private?List?requestFormList;}


作者:不一樣的科技宅
原文鏈接:https://juejin.im/post/5e5fb6ea51882549422ee257

總結

以上是生活随笔為你收集整理的校验json格式_不来学一下SpringBoot统一参数校验?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲福利一区二区 | 免费毛片大全 | 蜜乳av一区二区三区 | 后入内射欧美99二区视频 | 久伊人网 | 成人国产免费观看 | 日韩精品一区二区亚洲av观看 | 日本高清不卡视频 | 日本久久久网站 | 欧美不卡影院 | 婷色| 96看片| 亚洲A∨无码国产精品 | 亚洲精品a区 | 亚洲欧美天堂网 | 成人三级在线看 | www欧美视频| 国产国语亲子伦亲子 | 在线观看视频福利 | 亚洲操操操 | 麻豆www | 免费大片黄在线观看视频网站 | 成人免费福利视频 | 一个人在线观看www www.97色 | 视频在线| аⅴ资源天堂资源库在线 | 91久久精品日日躁夜夜躁欧美 | 亚洲av综合一区 | av网站国产 | 真实偷拍激情啪啪对白 | 动漫裸体无遮挡 | 国产情侣激情自拍 | 黄色成人免费观看 | 91成人精品国产刺激国语对白 | 不卡的av在线播放 | 精品一久久 | 天天视频亚洲 | 久精品免费视频 | 欧美黄页网站 | 国产精品一区二 | 视频一区在线免费观看 | 日日碰狠狠添天天爽无码av | 亚洲精品中文字幕 | 国产精品久线在线观看 | 辟里啪啦国语版免费观看 | 爱情岛论坛亚洲入口 | 成人免费一级片 | 秋霞视频一区二区 | 日本一级三级三级三级 | 真性中出 | 亚洲视频一区二区三区 | 高潮毛片无遮挡免费看 | 国产淫视| 日本xxxx人 | 1024精品一区二区三区日韩 | 冈本视频在线观看 | 国产无码精品久久久 | 亚洲av成人无码一二三在线观看 | 狼人精品一区二区三区在线 | 超碰国产一区二区三区 | 欧美xxxxbbbb | 无码黑人精品一区二区 | 日韩字幕| 欧美肉丝袜videos办公室 | 国产色秀视频 | 人人夜 | 亚洲男女啪啪 | 欧美性在线视频 | 私人影院毛片 | 亚洲少妇第一页 | 女人一区二区 | 性色网站 | 2024av | 国产性猛交xx乱 | 亚洲无码精品一区二区三区 | 中国女人真人一级毛片 | avtt亚洲天堂 | 91成人国产 | 国产无码精品一区二区 | 黄色工厂在线观看 | 免费的黄色大片 | 毛片在线视频观看 | 免费a大片 | 好吊色欧美一区二区三区视频 | 国产五月婷婷 | 欧美亚洲综合视频 | 亚洲av成人精品一区二区三区 | 在线观看欧美亚洲 | 成人黄色在线播放 | 午夜免费成人 | 中文在线观看免费高清 | 在线色播 | 91精彩刺激对白 | 精品国产丝袜一区二区三区乱码 | 在线观看黄色片网站 | 国产精品成av人在线视午夜片 | 国产精品99无码一区二区 | 萌白酱在线观看 | 欧美精品福利视频 |