@Validated引數校驗,異常資訊封裝成JSON返回給前端
在之前,曾經寫過一篇部落格對於@Validated的使用說明,但是對於引數校驗不通過之後的異常資訊,又如何封裝到一個JSON物件返回給前端呢?
controller層的程式碼:
如圖所示,如果我們僅僅使用@Validated進行校驗,但是不做任何其他處理,使用postman模擬前端請求,最終返回給前端的是這樣的:
在實際的專案開發中,這樣明顯不可取。
解決方案:寫一個spring的統一異常處理,使用@ExceptionHandler註解標註,這裡我還對所有的異常欄位都列印了出來
返回結果:
注意:
(1)這裡@ControllerAdvice註解標註,@ControllerAdvice是@Controller的增強版,一般與@ExceptionHandler搭配使用。
如果標註@Controller,異常處理只會在當前controller類中的方法起作用,但是使用@ControllerAdvice,則全域性有效。
(2)@ExceptionHandler註解裡面填寫想要捕獲的異常類class物件
相關推薦
@Validated引數校驗,異常資訊封裝成JSON返回給前端
在之前,曾經寫過一篇部落格對於@Validated的使用說明,但是對於引數校驗不通過之後的異常資訊,又如何封裝到一個JSON物件返回給前端呢? controller層的程式碼: 如圖所示,如果我們僅僅使用@Validated進行校驗,但是不做任何其他處理,使用postman模擬前端請求
更加靈活的引數校驗,Spring-boot自定義引數校驗註解
上文[測試開發專題:如何在spring-boot中進行引數校驗](https://www.immortalp.com/articles/2020/05/15/1589509696197.html),我們討論瞭如何使用@Min、@Max等註解進行引數校驗,主要是針對基本資料型別和級聯物件進行引數校驗的演示,但是
java 各種型別資料,集合物件封裝 成json
Java程式碼轉換成json程式碼 1. List集合轉換成json程式碼 List list = new ArrayList(); list.add( "first" ); list.add( "second" ); JSONArray jsonArra
日誌資訊新增和引數校驗
1:在類中要新增日誌資訊: private static final Logger log = LogManager.getLogger(ShopCartAction.class); log.info();//普通訊息 log.error();//錯誤資訊列印 log.debug()
使用者註冊登陸&引數校驗器&全域性捕獲異常&分散式session
工具類準備 分散式ID工具類 package com.example.miaosha_xdp.util; import java.util.UUID; public class UUIDUtil { public static String uuid(){ /**
mybatis反向工程generatorSqlmap-increase自動生成程式碼,還有一點引數校驗
之前都是大佬搭框架我寫業務程式碼,知道mybatis能自動生成程式碼,但是從來沒自己操作過,菜雞。 一開始我是用springboot的mybatis外掛生成的,但是生成的程式碼裡方法很少,沒有各個欄位的操作,所以又用generatorSqlmap-increase做了一次,
測試開發專題:spring-boot自定義返回引數校驗錯誤資訊
之前兩篇文章 [Spring-boot自定義引數校驗註解](https://www.immortalp.com/articles/2020/05/15/1589509382896.html)和[如何在spring-boot中進行引數校驗](https://www.immortalp.com/articles/
Spring Validation最佳實踐及其實現原理,引數校驗沒那麼簡單!
之前也寫過一篇關於`Spring Validation`使用的文章,不過自我感覺還是浮於表面,本次打算徹底搞懂`Spring Validation`。本文會詳細介紹`Spring Validation`各種場景下的最佳實踐及其實現原理,死磕到底! 專案原始碼:[spring-validation](https
設計模式學習——代理模式(Proxy Pattern)之 強制代理(強校驗,防繞過)
arr cnblogs 其他 測試 auth using color ref use 上周溫習了代理模式:http://www.cnblogs.com/chinxi/p/7354779.html 在此進行拓展,學習強制代理。但是發現網上大多例子都有個“天坑”(我是這麽認為的
常用校驗碼(奇偶校驗,海明校驗,CRC)學習總結
結果 post 1的個數 增加 src 所在 如果 ble 繼續 常用校驗碼(奇偶校驗,海明校驗,CRC)學習總結 一.為什麽要有校驗碼? 因為在數據存取和傳送的過程中,由於元器件或者噪音的幹擾等原因會出現錯誤,這個時候我們就需要采取相應的措施,發現並糾正錯誤,對於錯誤的
java正則校驗,密碼必須由字母和數字組成
mat AR bottom exception click popu 功能 log statistic 一個匹配數字和字母密碼的正則表達式 2011 年 12 月 14 日 | Filed under: 正則表達式 and tagged with: 密碼 , 正則
JavaScript的案例(數據校驗,js輪播圖,頁面定時彈窗)
頁面 span one align 數據校驗 lse 格式 用戶輸入 ade 1.數據校驗 步驟 1.確定事件(onsubmit)並綁定一個函數 2.書寫這個函數,獲取數據,並綁定id
HTML5新增的客戶端校驗,你跟上HTML5時代前進的腳步了嗎?
在以前,客戶端校驗只能通過JavaScript來完成,不過HTML5的出現,改變了這種現狀,HTML5為表單控制元件增加了一些輸入校驗屬性。HTML5頁面只要簡單地設定這些校驗屬性即可完成客戶端校驗。 1.使用校驗屬性執行校驗 HTML5為表單控制元件添加了如下幾個校驗屬性
Vue 元件引數校驗與非 props 特性
元件的引數校驗:父元件通過屬性傳遞給子元件資料,子元件有權對這些資料進行約束,這就是引數校驗。 如下,簡單的引數校驗。 <div id="root"> <child content="hello world"></child> <!-- 下
身份證校驗,真實版,遮蔽了地區校驗
去掉了地區驗證 package packer; import java.util.Calendar; public class IdNumberValidate { public String idValidate( String idNumber) { Str
Mybatis之是如何執行你的SQL的(SQL執行過程,引數解析過程,結果集封裝過程)
Myabtis的SQL的執行是通過SqlSession。預設的實現類是DefalutSqlSession。通過原始碼可以發現,selectOne最終會呼叫selectList這個方法。 1 @Override 2 public <E> List<E> select
springmvc、springboot 引數校驗
引數校驗在專案中是必不可少的,不僅前端需要校驗,為了程式的可靠性,後端也需要對引數進行有效性的校驗。下面將介紹在springmvc或springboot專案中引數校驗的方法 準備工作: 引入校驗需要用到的依賴 首先放上我們的測試物件 方法一、
對時間為“yyyyMMdd”格式的時間資料進行校驗,判斷其合法性
package org.asyware.insurance.util; /** * * @author zl * date 2018/08/09 * */ public class DateUtil {  
SpringBoot 校驗回顯資訊--Ajax請求Controller後返回Map--校驗提示賦值
直接上程式碼: 第一: Controller類的方法: @ResponseBody @RequestMapping("/USER/Check") public Map<String,String>
Spring基礎系列-引數校驗
原創作品,可以轉載,但是請標註出處地址:https://www.cnblogs.com/V1haoge/p/9953744.html Spring中使用引數校驗 概述 JSR 303中提出了Bean Validation,表示JavaBean的校驗,Hibernate Validation是其具體實