日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

java - SpringMVC集成hibernate validator進行參數驗證時,為什么不直接拋異常?

瀏覽:200日期:2023-10-27 14:01:40

問題描述

各位大神好,請教個問題

1.環境

spring 4.3.7hibernate-validator-5.4.1

2.配置如下

<bean name='messageSource'><property name='basenames'> <list><value>classpath:messages/messages</value><value>classpath:messages/ValidationMessages</value> </list></property><property name='useCodeAsDefaultMessage' value='false' /><property name='defaultEncoding' value='UTF-8' /><property name='cacheSeconds' value='60' /> </bean> <bean class='org.springframework.validation.beanvalidation.LocalValidatorFactoryBean'><property name='providerClass' value='org.hibernate.validator.HibernateValidator'/><property name='validationMessageSource' ref='messageSource'/> </bean> <mvc:annotation-driven validator='validator' />

3.bean和Controller

public class UserRequest {@NotBlank(message = '{login.valid.username.notnull}') private String username;@NotBlank(message = '{login.valid.password.notnull}') private String password; public String getUsername() {return username; } public void setUsername(String username) {this.username = username; } public String getPassword() {return password; } public void setPassword(String password) {this.password = password; }}

@RequestMapping(value = '/login', method = RequestMethod.POST) @ResponseBody public Object login(@Valid @RequestBody UserRequest ur, BindingResult result, HttpServletRequest request) {log.debug('login');if(result.hasErrors()) { return result.getAllErrors().get(0); } …… }

問題:為什么一定要在代碼中用result.hasErrors()顯示判斷?難道不能驗證UserRequest中的字段不符合定義就直接拋異常,這樣不更合理些嗎?

問題解答

回答1:

問題:為什么一定要在代碼中用result.hasErrors()顯示判斷?難道不能驗證UserRequest中的字段不符合定義就直接拋異常,這樣不更合理些嗎?

例如我們在參數異常的時候返回給前端的是異常的具體參數名和描述,不是 Spring 給出的所有異常信息,如果 Spring 自動拋出異常,那么返回的信息你自己就不好控制了。

@PostMapping(UriView.REST_KNOWLEDGE_POINTS)@ResponseBodypublic Result createKnowledgePoint(@Valid KnowledgePoint knowledgePoint, BindingResult bindingResult) { // 如有參數錯誤,則返回錯誤信息給客戶端 if (bindingResult.hasErrors()) {return Result.fail(CommonUtils.getBindingMessage(bindingResult)); } knowledgePoint.setKnowledgePointId(CommonUtils.uuid()); knowledgePoint.setName(knowledgePoint.getName().trim()); mapper.createKnowledgePoint(knowledgePoint); return Result.ok('', knowledgePoint);}/** * BindingResult 中的錯誤信息很多,對用戶不夠友好,使用 getBindingMessage() * 提取對用戶閱讀友好的定義驗證規則 message。 * * @param result 驗證的結果對象 * @return 驗證規則 message */public static String getBindingMessage(BindingResult result) { StringBuffer sb = new StringBuffer(); for (FieldError error : result.getFieldErrors()) {// sb.append(error.getField() + ' : ' + error.getDefaultMessage() + 'n');sb.append(error.getDefaultMessage() + 'n'); } return sb.toString();}回答2:

你只是在你的應用場景中考慮為什么,一個框架更多的是考慮大多數時候怎么做最合理。

大部分對于客戶端數據的驗證都不應當被當作“異常”,而是用戶在不知道的情況下被允許犯的錯誤。

標簽: java
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产一区二区亚洲| 国产欧美自拍| 91精品xxx在线观看| 日韩国产专区| 久久国产亚洲| 国产伊人久久| 黄毛片在线观看| 日韩精品第一区| 国产一区视频在线观看免费| 亚洲午夜一级| 夜久久久久久| 一二三区精品| 国产美女久久| 黄色欧美在线| 激情综合网址| 视频一区二区三区入口| 日韩欧美中文字幕电影| 国产欧美成人| 岛国av在线播放| 国产伊人精品| 免费日韩视频| 欧美精品福利| av资源中文在线| 久久理论电影| 亚洲婷婷丁香| 欧美精品aa| 天堂中文av在线资源库| 欧美在线资源| 日本久久二区| 亚洲欧洲高清| 夜夜嗨av一区二区三区网站四季av| 亚洲深深色噜噜狠狠爱网站 | 视频一区在线播放| 日韩av网站免费在线| 精品一二三区| 欧美另类专区| 国产精品入口久久| 久久五月天小说| 亚洲精品系列| 国产极品嫩模在线观看91精品| 久久麻豆视频| 精品一区免费| 国产欧美一区二区色老头| 天堂√8在线中文| 亚洲尤物在线| 国产福利资源一区| 日韩视频免费| 麻豆精品视频在线观看免费| 亚洲高清成人| 国产女人18毛片水真多18精品| 亚洲成人二区| 青青草精品视频| 91看片一区| 欧美啪啪一区| 欧美~级网站不卡| 久久精品 人人爱| 久久久久网站| 国产欧美激情| 亚洲精品网址| 久久精品xxxxx| 蜜臀91精品国产高清在线观看| 国产情侣久久| 亚洲欧洲一区| 成人一区而且| 日韩在线黄色| 美女少妇全过程你懂的久久| 欧美xxxx性| 日韩中文字幕区一区有砖一区 | 日韩中文字幕av电影| 国产精品久久久久久模特 | 亚洲一级黄色| 国产精品对白| 石原莉奈在线亚洲三区| 激情黄产视频在线免费观看| 亚洲一二av| 婷婷精品视频| 精品视频在线一区二区在线| 免费在线观看精品| 在线一区av| 国产三级一区| 综合激情网站| 欧美精品一卡| 丁香婷婷久久| 91综合久久爱com| 久久亚洲色图| 国产综合亚洲精品一区二| 精品国产亚洲日本| 日本欧美久久久久免费播放网| 在线亚洲精品| 99久久夜色精品国产亚洲狼| 精品三级在线| 久久99精品久久久久久园产越南 | 欧美激情aⅴ一区二区三区| 中文字幕乱码亚洲无线精品一区| 99久久婷婷| 精品伊人久久| 国产极品模特精品一二| 亚洲精品少妇| 久久xxxx| 亚洲精品91| 香蕉久久精品| 久久久精品日韩| 日韩欧美一区二区三区在线视频 | 欧美日韩国产在线一区| 成人va天堂| 成人日韩在线| 国产一区不卡| 国产精品片aa在线观看| 日韩福利视频导航| 天堂久久av| 综合精品一区| 亚洲午夜久久| 蜜桃视频一区二区三区| 丝瓜av网站精品一区二区| 亚洲精品小说| 99热免费精品| 日韩午夜免费| 久久99伊人| 在线国产精品一区| 在线看片一区| 日产欧产美韩系列久久99| 中文字幕一区二区三区在线视频| 日韩午夜av在线| 久久亚洲色图| 亚洲精品人人| 欧美日本精品| 你懂的国产精品永久在线| 国产精品一区亚洲| 美女视频黄久久| 精品视频免费| 亚洲精品成人图区| 三上悠亚国产精品一区二区三区| 青青久久av| 在线精品视频在线观看高清| 中文一区在线| 亚洲精品综合| 国产午夜久久av| 国产欧美久久一区二区三区| 国产精品美女久久久久久不卡| 免费一区二区三区在线视频| 国模大尺度视频一区二区| 欧美日韩视频网站| 欧美+日本+国产+在线a∨观看| aa亚洲婷婷| 日韩欧美激情| 国产一区二区三区四区二区| 久久精品电影| 免费人成黄页网站在线一区二区| 日本v片在线高清不卡在线观看| 国产欧美自拍| 都市激情国产精品| 国产综合色产| 蜜桃传媒麻豆第一区在线观看| 97成人在线| 亚洲黄色免费看| 亚洲欧美日韩专区| 久久精品97| 亚洲www啪成人一区二区| 婷婷激情综合| 日韩精品亚洲aⅴ在线影院| 国产福利亚洲| 亚洲福利久久| 日韩高清不卡一区| 欧美激情另类| 99综合视频| 国产欧美日韩一区二区三区四区| 精品九九在线| 日韩午夜高潮| 国产精品视频一区二区三区| 香蕉视频亚洲一级| 亚洲无线观看| 国产精品国产三级国产在线观看| 激情五月综合| 国产精品白浆| 国产综合色产| 久久国产婷婷国产香蕉| 亚洲成人不卡| 日本在线不卡视频一二三区| 日韩av免费大片| 国产日韩综合| 欧美激情久久久久久久久久久| 久久精品91| 青草综合视频| 久久精品导航| 国产免费av一区二区三区| 日韩精品免费一区二区三区| 婷婷综合成人| 久久高清免费| 国产精品视频一区二区三区综合| 激情欧美丁香| 国产精品玖玖玖在线资源| 欧美日韩国产一区二区三区不卡| 欧美片第1页综合| 欧美 日韩 国产精品免费观看| 欧美日一区二区在线观看| 欧美高清一区| 精品国产一区二区三区性色av| 99国内精品| 成人午夜网址| 日韩1区2区3区|