@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時一直使用@RequestParam來校驗參數(shù)是否為空,但是我想我對@RequestParam的用法產(chǎn)出了一些誤解。
簡單來說@RequestParam只能驗證你有沒有傳這個參數(shù),而不能驗證你傳的參數(shù)是否為空。
問題二
還有一個問題,有一次我寫一個代碼如下:method(@RequestParam User user),然后報錯如下:Required XXX parameter 'xxx' is not present
把@RequestParam刪除就行了
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Maven項目報錯:“?SLF4J:?Failed?to?load?class?“org.slf4j.imp
這篇文章主要給大家介紹了關(guān)于Maven項目報錯:“?SLF4J:?Failed?to?load?class?“org.slf4j.impl.StaticLoggerBinder?”的解決方案,文中給出詳細(xì)的解決思路與方法,需要的朋友可以參考下2022-03-03詳解Java中PriorityQueue的作用和源碼實現(xiàn)
這篇文章主要為大家詳細(xì)介紹了Java中阻塞隊列PriorityQueue的作用和源碼實現(xiàn)的相關(guān)知識,文中的示例代碼講解詳細(xì),需要的小伙伴可以了解下2024-02-02Spring聲明式事務(wù)注解之@EnableTransactionManagement解析
這篇文章主要介紹了Spring聲明式事務(wù)注解之@EnableTransactionManagement解析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08SpringBoot詳細(xì)講解通過自定義classloader加密保護class文件
這篇文章主要介紹了SpringBoot通過自定義classloader加密class文件,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-04-04