@RequestParam 接收參數(shù)的值為null的處理方式
@RequestParam 接收參數(shù)的值為null
@RequestMapping(value = "/test")
public String test( @RequestParam(value = "profit",required = false,defaultValue = "0") int profit){
System.out.println("profit:"+profit);
return "success";
}
第一種處理方式(如上圖):defaultValue請求參數(shù)的默認(rèn)值,一般和 required = false 一起使用
第二種處理方式:接收的參數(shù)如果是null的話,int就要改為Integer,Integer默認(rèn)值為null
@RequestMapping(value = "/test")
public String test(@RequestParam(
@RequestParam(value = "profit",required = false) Integer profit){
System.out.println("profit:"+profit);
return "success";
}
對于@RequestParam的一些小疑問
問題一
首先我在使用spring時(shí)一直使用@RequestParam來校驗(yàn)參數(shù)是否為空,但是我想我對@RequestParam的用法產(chǎn)出了一些誤解。
簡單來說@RequestParam只能驗(yàn)證你有沒有傳這個(gè)參數(shù),而不能驗(yàn)證你傳的參數(shù)是否為空。
問題二
還有一個(gè)問題,有一次我寫一個(gè)代碼如下:method(@RequestParam User user),然后報(bào)錯(cuò)如下:Required XXX parameter 'xxx' is not present
把@RequestParam刪除就行了
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用JMeter進(jìn)行接口高并發(fā)測試的實(shí)現(xiàn)
本文主要介紹了使用JMeter進(jìn)行接口高并發(fā)測試的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04
Spring Boot 整合 TKMybatis 二次簡化持久層代碼的實(shí)現(xiàn)
這篇文章主要介紹了Spring Boot 整合 TKMybatis 二次簡化持久層代碼的實(shí)現(xiàn),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
教你用springboot連接mysql并實(shí)現(xiàn)增刪改查
今天教各位小伙伴用springboot連接mysql并實(shí)現(xiàn)增刪改查功能,文中有非常詳細(xì)的步驟及代碼示例,對正在學(xué)習(xí)Java的小伙伴們有非常好的幫助,需要的朋友可以參考下2021-05-05
SpringBoot?Security從入門到實(shí)戰(zhàn)示例教程
Spring?Security是一個(gè)功能強(qiáng)大且高度可定制的身份驗(yàn)證和訪問控制框架,接下來通過本文給大家介紹SpringBoot?Security從入門到實(shí)戰(zhàn)示例教程,感興趣的朋友一起看看吧2022-05-05

