基于@RequestParam name和value屬性的區(qū)別
基于name和value屬性的區(qū)別
RequestParam內(nèi)部有4個(gè)參數(shù)
- 1、
String name;
- 2、
String value;
- 3、
boolean required;
- 4、
String defaultValue;
源碼中name的別名是value,value的別名是name,
所以說(shuō)name和value兩個(gè)屬性基本是等價(jià)的,都是獲取從前臺(tái)傳入的參數(shù)
@RequestParam,參數(shù)是否必須傳的問(wèn)題
一、源碼展示
@Target(ElementType.PARAMETER) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface RequestParam { @AliasFor("name") String value() default ""; @AliasFor("value") String name() default ""; boolean required() default true; String defaultValue() default ValueConstants.DEFAULT_NONE; }
這是示例代碼
@GetMapping("/findById") public ResultBean byid(@RequestParam(defaultValue = "1",required = false,/*value = "ss",*/name = "ls") Integer id){ List<Customers> all = customersService.findById(id); return ResultBean.ok(all); }
二、說(shuō)明
2.1 @RequestParam
對(duì)于參數(shù)入?yún)?,這個(gè)注解可以不必須有,但只能匹配和你定義的入?yún)?,完全一樣的名稱,對(duì)應(yīng)則匹配,不對(duì)應(yīng)就不匹配。
2.2 required
是否必須,默認(rèn)為 true,也就是說(shuō),當(dāng)@RequestParam存在時(shí),是默認(rèn)required = true條件的,@RequestParam不存在時(shí),返回 2.1 的解釋。
2.3 defaultValue
設(shè)置初始值,一般和required = false一起使用,如果不傳值,則使用默認(rèn)值。
2.4 value
和name,一樣,給變量起別名,一一對(duì)應(yīng)于前端傳的屬性名,映射到后端接口變量名,有時(shí)前端無(wú)法按要求傳給你你所希望的變量名,這個(gè)就發(fā)揮用處了。
2.5 name
和value一樣,給變量起別名,兩個(gè)同時(shí)存在時(shí),訪問(wèn)時(shí)就會(huì)出錯(cuò)。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- @RequestParam注解加與不加有什么區(qū)別
- 基于params、@PathVariabl和@RequestParam的用法與區(qū)別說(shuō)明
- @RequestBody,@RequestParam和@Param的區(qū)別說(shuō)明
- 方法參數(shù)屬性params,@PathVariable和@RequestParam用法及區(qū)別
- @PathVariable、@RequestParam和@RequestBody的區(qū)別
- @RequestParam?和@RequestBody注解的區(qū)別解析
- Springboot中@RequestParam和@PathVariable的用法與區(qū)別詳解
- Spring中@PathVariable和@RequestParam注解的用法區(qū)別
- SpringBoot中@PathVariable、@RequestParam和@RequestBody的區(qū)別和使用詳解
- @RequestAttribute和@RequestParam注解的區(qū)別及說(shuō)明
- springMVC中@RequestParam和@RequestPart的區(qū)別
相關(guān)文章
Intellij IDEA遠(yuǎn)程debug教程實(shí)戰(zhàn)和要點(diǎn)總結(jié)(推薦)
這篇文章主要介紹了Intellij IDEA遠(yuǎn)程debug教程實(shí)戰(zhàn)和要點(diǎn)總結(jié)(推薦),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03深入了解Spring中的@Autowired和@Resource注解
Spring中的@Autowired和@Resource注解都可以實(shí)現(xiàn)依賴注入,但使用方式、注入策略和適用場(chǎng)景略有不同。本文將深入探討這兩種注解的原理、使用方法及優(yōu)缺點(diǎn),幫助讀者更好地理解和運(yùn)用Spring依賴注入機(jī)制2023-04-04Java8生成時(shí)間方式及格式化時(shí)間的方法實(shí)例
這篇文章主要給大家介紹了關(guān)于Java8生成時(shí)間方式及格式化時(shí)間的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08基于spring+springmvc+hibernate 整合深入剖析
這篇文章主要介紹了于spring+springmvc+hibernate整合實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10maven倉(cāng)庫(kù)repositories和mirrors的配置及區(qū)別詳解
這篇文章主要介紹了maven倉(cāng)庫(kù)repositories和mirrors的配置及區(qū)別詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07Spring boot實(shí)現(xiàn)文件上傳功能
這篇文章主要為大家詳細(xì)介紹了Spring boot實(shí)現(xiàn)文件上傳功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06