Spring中@PathVariable和@RequestParam注解的用法區(qū)別
前言
@PathVariable和@RequestParam的作用都是從請求里面獲取參數(shù),只是用法不同
- PathVariable:
- http://localhost:8080/testPathVariable/parm1/111111/parm2/222222
- RequestParam:
- http://localhost:8080/testRequestParam?id1=11111&id2=22222
@PathVariable
首先看一下代碼以及響應結果:
請求路徑url://localhost:8080/testPathVariable/parm1/111111/parm2/222222
代碼:
@GetMapping("/testPathVariable/parm1/{id1}/parm2/{id2}")
public String testPathVariable(@PathVariable(value = "id1") String id,@PathVariable String id2) {
return "testPathVariable, param1:"+id+" , param2:"+id2;
}請求結果:

解析
@PathVariable用法: 請求路徑采用 “/ 參數(shù)” 向后臺傳入?yún)?shù) 后臺接收采用 {id1} 占位符形式的方式來接收請求參數(shù)
@PathVariable的參數(shù):
- name: 與請求的具體哪個參數(shù)做綁定
- required: 參數(shù)是否必須 true or false
- value: 跟name一樣的作用,與請求的具體哪個參數(shù)做綁定
@RequestParam
首先看一下代碼以及響應結果:
請求路徑://localhost:8080/testRequestParam?id1=11111&id2=22222
代碼:
@GetMapping("/testRequestParam")
public String testRequestParam(@RequestParam(value = "id1") String id, @RequestParam String id2) {
return "testRequestParam, param1:"+id+" , param2:"+id2;
}
請求結果:

解析
@RequestParam用法: 請求路徑采用的是形如 /testRequestParam?id1=11111&id2=22222 的形式
后臺接收用@RequestParam注解,用value屬性綁定參數(shù)接收
@RequestParam的參數(shù):
- name: 與請求的具體哪個參數(shù)做綁定
- required: 參數(shù)是否必須 true or false
- value: 跟name一樣的作用,與請求的具體哪個參數(shù)做綁定
- defaultValue:如果請求沒有攜帶這個參數(shù)或者參數(shù)為空,采用默認值
異同點
相同點:都是從請求里面獲取參數(shù)
不同點:@RequestParam多了一個defaultValue屬性,用于處理請求沒有這個參數(shù)的情況賦予一個默認值
@GetMapping("/testRequestParam")
public String testRequestParam(@RequestParam(value = "id1",required = false,
defaultValue = "paramdefault") String id, @RequestParam String id2) {
return "testRequestParam, param1:"+id+" , param2:"+id2;
}
到此這篇關于Spring中@PathVariable和@RequestParam注解的用法區(qū)別的文章就介紹到這了,更多相關@PathVariable和@RequestParam用法區(qū)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- springboot中@RequestParam和@PathVariable區(qū)別
- SpringBoot中@PathVariable、@RequestParam和@RequestBody的區(qū)別和使用詳解
- Spring中@RequestParam、@RequestBody和@PathVariable的用法詳解
- Springboot中@RequestParam和@PathVariable的用法與區(qū)別詳解
- @PathVariable、@RequestParam和@RequestBody的區(qū)別
- 方法參數(shù)屬性params,@PathVariable和@RequestParam用法及區(qū)別
- @PathVariable和@RequestParam傳參為空問題及解決
- 使用@pathvariable與@requestparam碰到的一些問題及解決
- 聊聊@RequestParam,@PathParam,@PathVariable等注解的區(qū)別
- Java中@PathVariable 和 @RequestParam的區(qū)別小結
相關文章
springboot配置多數(shù)據(jù)源后mybatis攔截器失效的解決
這篇文章主要介紹了springboot配置多數(shù)據(jù)源后mybatis攔截器失效的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09
詳解IntelliJ IDEA創(chuàng)建spark項目的兩種方式
這篇文章主要介紹了詳解IntelliJ IDEA創(chuàng)建spark項目的兩種方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-01-01
spring AOP的After增強實現(xiàn)方法實例分析
這篇文章主要介紹了spring AOP的After增強實現(xiàn)方法,結合實例形式分析了spring面向切面AOP的After增強實現(xiàn)步驟與相關操作技巧,需要的朋友可以參考下2020-01-01

