第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

SpringMVC集成hibernate validator進(jìn)行參數(shù)驗(yàn)證時(shí),為什么不直接拋異常?

SpringMVC集成hibernate validator進(jìn)行參數(shù)驗(yàn)證時(shí),為什么不直接拋異常?

BIG陽(yáng) 2019-03-01 10:49:46
各位大神好,請(qǐng)教個(gè)問(wèn)題 1.環(huán)境 spring 4.3.7 hibernate-validator-5.4.1 2.配置如下 <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource" 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 id="validator" 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); } …… } 問(wèn)題:為什么一定要在代碼中用result.hasErrors()顯示判斷?難道不能驗(yàn)證UserRequest中的字段不符合定義就直接拋異常,這樣不更合理些嗎?
查看完整描述

3 回答

?
墨色風(fēng)雨

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超6個(gè)贊

你只是在你的應(yīng)用場(chǎng)景中考慮為什么,一個(gè)框架更多的是考慮大多數(shù)時(shí)候怎么做最合理。

大部分對(duì)于客戶端數(shù)據(jù)的驗(yàn)證都不應(yīng)當(dāng)被當(dāng)作“異常”,而是用戶在不知道的情況下被允許犯的錯(cuò)誤。

查看完整回答
反對(duì) 回復(fù) 2019-03-01
  • 3 回答
  • 0 關(guān)注
  • 519 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)