国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

入參校驗,你還在寫 If-Else?Out了!快來看看這個吧

開發 前端
當服務端接口一拿到前臺的入參,你是不是上去就開始堆積if-else,十多行代碼下去,發現全判斷校驗參數了,還沒進入正常的業務邏輯。想要優雅一點嗎?那就一起隨小編一起來學習吧!

背景

當服務端接口一拿到前臺的入參,你是不是上去就開始堆積if-else,十多行代碼下去,發現全判斷校驗參數了,還沒進入正常的業務邏輯。雖然功能沒啥毛病,但看起來太冗長,被后來者看到,那是免不了一頓吐槽的!想要優雅一點嗎?那就一起隨小編一起來學習使用

spring-boot-starter-validation進行參數校驗!

優點

  • controller層的代碼看起來干凈整潔
  • spring-boot-starter-validation本身內置了一些注解可以直接使用,比如@NotNull,@NotBlank,@Size等
  • 支持自定義注解,靈活方便

搭建

pom引入依賴包

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>

常用注解

@NotNull
@NotBlank
@NotEmpty
@Size

自定義注解

/**
* 時間屬性格式校驗
* @author:liyajie
* @createTime:2022/1/20 10:38
* @version:1.0
*/
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.PARAMETER,ElementType.FIELD})
@Constraint(validatedBy = DateValidator.Validator.class)
public @interface DateValidator {
// 校驗未通過時的返回信息
String message() default "日期格式不正確";

// 以下兩行為固定模板
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
/**
* 預期日期格式
*/
String expectValue();

@Slf4j
class Validator implements ConstraintValidator<DateValidator, String> {

private String expectValue;

@Override
public void initialize(DateValidator dateValidator) {
expectValue = dateValidator.expectValue();
}

@Override
public boolean isValid(String value, ConstraintValidatorContext context) {
boolean flag = false;
/**
* 為空直接通過,只做格式驗證
*/
if(Strings.isNullOrEmpty(value)){
return true;
}
try {
Date date = DateUtil.formatStr2Date(value, expectValue);
flag = true;
}catch (RuntimeException e){
log.warn("DateValidator 日期格式不正確");
e.printStackTrace();
}
return flag;
}
}
}

測試

注意點

校驗不通過時,會直接拋出異常,程序將停止執行下面的邏輯,這樣是不合理的,所以我們要捕獲異常,并進行處理,方案如下: 全局捕獲異常,并統一返回:

/**
* 全局異常處理
* @author: zhanglei
* @version: 1.0
* @date: 2021/5/18 20:27
*/
@ControllerAdvice
@Slf4j
public class GlobalExceptionHandler {

/**
* 校驗異常
* @author: liyajie
* @date: 2022/1/20 13:07
* @param e
* @return com.lyj.validates.common.R
* @exception:
* @update:
* @updatePerson:
**/
@ExceptionHandler(MethodArgumentNotValidException.class)
@ResponseBody
public R exceptionHandler(MethodArgumentNotValidException e) {
log.error("exceptionHandler info:", e);
BindingResult bindingResult = e.getBindingResult();
StringBuilder builder = new StringBuilder();
for (FieldError fieldError : bindingResult.getFieldErrors()) {
builder.append(fieldError.getDefaultMessage()).append("!");
}
log.error("message : {}",builder.toString());
return new R("500",builder.toString());
}
}


責任編輯:武曉燕 來源: 今日頭條
相關推薦

2024-06-03 00:00:06

高性能數據傳輸應用程序

2022-11-28 07:32:46

迭代器remove數據庫

2021-06-10 10:33:22

Jenkins持續集成工具自動化

2022-05-12 15:17:09

GPU微軟神經網絡

2023-10-30 08:18:21

內存泄漏Java

2025-11-26 02:22:00

2021-04-19 09:23:26

數字化

2020-08-04 07:02:00

TCPIP算法

2020-12-25 10:35:42

編程語言C語言Java

2018-02-24 14:59:39

區塊鏈公共區塊鏈私有區塊鏈

2019-12-11 16:36:09

編程語言排行榜Python

2019-09-06 10:31:45

軟件開發地圖

2018-02-25 23:12:16

2018-05-02 15:41:27

JavaScript人臉檢測圖像識別

2018-03-06 09:54:48

數據庫備份恢復

2018-07-30 14:24:16

機器學習神經網絡函數

2023-06-02 07:30:24

If-else結構流程控制

2020-05-13 14:15:25

if-else代碼前端

2021-01-26 05:11:28

if-else代碼虛函數
點贊
收藏

51CTO技術棧公眾號

成人一对一视频| 成人精品3d动漫| 久久久精品国产网站| 国产综合免费视频| 91久久久久| 国产精品日日摸夜夜摸av| 动漫精品视频| 久久中文资源| 亚洲欧美一区二区精品久久久| 精品一区二区三区自拍图片区| 99久久999| 亚洲国产高潮在线观看| 日本在线播放不卡| 国产成人精品一区二区免费看京 | 国产精品tv| 岛国一区二区三区| 亚洲自拍高清视频网站| 一区二区视频| 一区二区三区久久精品| 欧美xxxx性xxxxx高清| 欧美性色19p| 国产a一区二区| 日韩激情毛片| 欧美另类老女人| 精品视频无码一区二区三区| 久久一区二区三区超碰国产精品| 国产精品电影网站| 97久久综合精品久久久综合| 在线电影av不卡网址| 91色在线看| 国精产品一区一区三区mba视频| 国产精品一香蕉国产线看观看| 国产一区2区在线观看| 伊人激情综合网| www.色在线| 久久综合久久久久88| 日韩亚洲欧美中文在线| 黄页在线观看免费| 在线不卡欧美精品一区二区三区| 久久人人爽爽人人爽人人片av| 2024最新电影在线免费观看| 亚洲一二三四区| 5566中文字幕一区二区| 最近国产精品视频| 国内精品久久久久| 在线免费中文字幕| 亚洲人成网站色在线观看| 亚洲mm色国产网站| 国产最新精品| 国产精品丝袜视频| 成人午夜国产| 2014国产精品| 在线观看一区| 午夜精品亚洲一区二区三区嫩草| 轻轻草成人在线| 精品国产网站地址| 美女色狠狠久久| 亚洲一区av在线播放| 欧美成人福利| 一区二区三区回区在观看免费视频| 国产精品女主播一区二区三区| 91久久综合| 国产精品免费视频一区二区| 国产亚洲毛片| 亚洲人久久久| 99久久夜色精品国产网站| 四季av一区二区| 欧美精品偷拍| 国产精品视频免费观看| 日本色综合中文字幕| 久久黄色片视频| 亚洲精品视频在线| 影音先锋欧美在线| 国产精品自在在线| 91视频免费版污| 精品久久久久久电影| 免费在线观看黄色| 中文字幕成人在线| 免费成人网www| 欧美黄色直播| 久久精品人人爽人人爽| 免费电影一区| 老牛国内精品亚洲成av人片| 97在线看福利| 欧美日本国产| 国产日韩欧美大片| 中国成人一区| 欧美日韩综合网| 99久久综合狠狠综合久久| 少妇激情av一区二区三区| 欧美精品高清视频| 超碰国产精品一区二页| 91免费视频国产| 国产乱人伦偷精品视频免下载| 2023国产一二三区日本精品2022| 欧美四级电影网| 欧美黑粗硬大| 成人亚洲激情网| 国精品**一区二区三区在线蜜桃| 97涩在线观看视频| 精品久久人人做人人爰| 久久九九热re6这里有精品| 久久久久久久免费| 亚洲欧洲在线观看av| 国产第一页在线| 国产精品成av人在线视午夜片| 久久精品国产亚洲a| 国产超碰精品在线观看| 在线视频中文亚洲| 亚洲特色特黄| 在线成人私人影院| 国产精品18久久久久久久久| 国产va在线| 国产偷亚洲偷欧美偷精品| 成人激情电影在线| 青草视频在线观看视频| 欧美午夜电影在线播放| 韩国女主播一区二区三区| 日韩一区二区电影在线观看| 一区二区在线观看视频在线观看| 久久国产这里只有精品| 69精品人人人人| 亚洲国产精品嫩草影院久久av| 欧美激情在线观看视频| 日本欧美一区| 99在线视频首页| 国产精品区一区二区三区| 玖玖在线播放| 精品国产一区二区三区四区vr| 亚洲精品成人在线| 免费观看亚洲视频大全| 三级在线免费观看| 日韩美女视频在线| 韩国久久久久| 一级片在线观看| 日韩免费在线看| 国产日韩欧美制服另类| 在线一区视频观看| 久久久水蜜桃| 色综合视频一区二区三区高清| 亚洲色图图片网| 久久香蕉国产线看观看av| 三级在线观看一区二区| 亚洲综合激情五月| 欧美在线观看一区| 欧美日韩精品一区二区视频| 国产日韩中文字幕在线| 亚洲国产电影在线观看| 99久久er| 国产aaa免费视频| 亚洲天堂av在线播放| 免费观看久久久4p| 久久久久久久久久久99| 亚洲精品福利资源站| 日产国产高清一区二区三区| 看黄网站在线| 最近的2019中文字幕免费一页| 日一区二区三区| v片在线观看| 久久久久综合一区二区三区| 欧美人动与zoxxxx乱| 亚洲第一区色| 国产在线高潮| 亚洲高清不卡一区| 亚洲成人a级网| 国产精品亚洲а∨天堂免在线| 最近高清中文在线字幕在线观看1| 亚洲激情电影在线| 国产偷国产偷亚洲清高网站| 国产福利不卡视频| 亚洲日日夜夜| 嫩草影院在线观看网站成人| 国产精品日本精品| 免费在线视频一区| 丁香花视频在线观看| 综合网五月天| 北条麻妃久久精品| 国产精品色哟哟| 日韩一级毛片| 欧美美女黄色网| 亚洲欧美制服综合另类| 成人激情午夜影院| 嫩草在线播放| 亚洲欧洲午夜一线一品| 国产在线精品一区二区三区不卡| 日本韩国欧美| 亚欧美在线观看| 91精品久久久久久久久久| 欧美视频一区在线观看| 另类小说欧美激情| 日韩精品中文字幕一区二区| 精精国产xxxx视频在线动漫| 粉嫩av四季av绯色av第一区| 亚洲精品国产福利| 久久久精品综合| 无码一区二区三区视频| 欧美高清另类hdvideosexjaⅴ| 欧美国产激情视频| 日韩无一区二区| 日韩国产一区二区三区|