Spring中@PathVariable和@RequestParam注解的用法區(qū)別
前言
@PathVariable和@RequestParam的作用都是從請求里面獲取參數,只是用法不同
- 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用法: 請求路徑采用 “/ 參數” 向后臺傳入參數 后臺接收采用 {id1} 占位符形式的方式來接收請求參數
@PathVariable的參數:
- name: 與請求的具體哪個參數做綁定
- required: 參數是否必須 true or false
- value: 跟name一樣的作用,與請求的具體哪個參數做綁定
@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屬性綁定參數接收
@RequestParam的參數:
- name: 與請求的具體哪個參數做綁定
- required: 參數是否必須 true or false
- value: 跟name一樣的作用,與請求的具體哪個參數做綁定
- defaultValue:如果請求沒有攜帶這個參數或者參數為空,采用默認值
異同點
相同點:都是從請求里面獲取參數
不同點:@RequestParam多了一個defaultValue屬性,用于處理請求沒有這個參數的情況賦予一個默認值
@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ū)別內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Springboot使用filter對response內容進行加密方式
這篇文章主要介紹了Springboot使用filter對response內容進行加密方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03SpringBoot中添加監(jiān)聽器及創(chuàng)建線程的代碼示例
這篇文章主要介紹了SpringBoot中如何添加監(jiān)聽器及創(chuàng)建線程,文中有詳細的代碼示例,具有一定的參考價值,需要的朋友可以參考下2023-06-06詳解SpringBoot的三種緩存技術(Spring Cache、Layering Cache 框架、Alibaba J
這篇文章主要介紹了SpringBoot的三種緩存技術,幫助大家更好的理解和學習springboot框架,感興趣的朋友可以了解下2020-10-10