關(guān)于@RequestParam的主要用法詳解
更新時間:2025年03月22日 09:49:00 作者:HinINAX
這篇文章主要介紹了關(guān)于@RequestParam的主要用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
1. 基本用法
- 作用:從請求中提取查詢參數(shù)或表單數(shù)據(jù)。
- 語法:
@RequestParam("參數(shù)名") 數(shù)據(jù)類型 參數(shù)名
- 示例:
@GetMapping("/greet") public String greet(@RequestParam("name") String name) { return "Hello, " + name + "!"; }
- 請求:
/greet?name=John
- 響應(yīng):
Hello, John!
2. 默認值
- 作用:當參數(shù)不存在時,使用默認值。
- 語法:
@RequestParam(value = "參數(shù)名", defaultValue = "默認值") 數(shù)據(jù)類型 參數(shù)名
- 示例:
@GetMapping("/greet") public String greet(@RequestParam(value = "name", defaultValue = "Guest") String name) { return "Hello, " + name + "!"; }
- 請求:
/greet
- 響應(yīng):
Hello, Guest!
3. 可選參數(shù)
- 作用:允許參數(shù)不存在。
- 語法:
@RequestParam(value = "參數(shù)名", required = false) 數(shù)據(jù)類型 參數(shù)名
- 示例:
@GetMapping("/greet") public String greet(@RequestParam(value = "name", required = false) String name) { return "Hello, " + (name != null ? name : "Guest") + "!"; }
- 請求:
/greet
- 響應(yīng):
Hello, Guest!
4. 綁定到對象
- 作用:將多個參數(shù)綁定到一個對象中。
- 示例:
public class User { private int id; private String name; // Getter 和 Setter 方法 } @GetMapping("/user") public String getUser(User user) { return "User ID: " + user.getId() + ", Name: " + user.getName(); }
- 請求:
/user?id=1&name=John
- 響應(yīng):
User ID: 1, Name: John
5. 綁定到集合或數(shù)組
- 作用:將多個同名參數(shù)綁定到集合或數(shù)組中。
- 示例:
@GetMapping("/hobbies") public String getHobbies(@RequestParam("hobby") List<String> hobbies) { return "Hobbies: " + String.join(", ", hobbies); }
- 請求:
/hobbies?hobby=Reading&hobby=Traveling
- 響應(yīng):
Hobbies: Reading, Traveling
6. 綁定到 Map
- 作用:將動態(tài)參數(shù)綁定到
Map
中。 - 示例:
@GetMapping("/params") public String getParams(@RequestParam Map<String, String> params) { return "Params: " + params.toString(); }
- 請求:
/params?name=John&age=25
- 響應(yīng):
Params: {name=John, age=25}
7. 處理復(fù)雜類型
- 作用:支持日期、枚舉等復(fù)雜類型的轉(zhuǎn)換。
- 示例:
@GetMapping("/date") public String getDate(@RequestParam("date") @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate date) { return "Date: " + date.toString(); }
- 請求:
/date?date=2023-10-01
- 響應(yīng):
Date: 2023-10-01
???????總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring?MVC文件請求處理MultipartResolver詳解
這篇文章主要介紹了Spring?MVC文件請求處理詳解:MultipartResolver,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-11-11Springboot?格式化LocalDateTime的方法
這篇文章主要介紹了Springboot格式化LocalDateTime的相關(guān)知識,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-05-05IDEA Error:java: 無效的源發(fā)行版: 17錯誤
本文主要介紹了IDEA Error:java: 無效的源發(fā)行版: 17錯誤,這個錯誤是因為您的IDEA編譯器不支持Java 17版本,您需要更新您的IDEA編譯器或者將您的Java版本降級到IDEA支持的版本,本文就來詳細的介紹一下2023-08-08在java中由類名和方法名字符串實現(xiàn)其調(diào)用方式
這篇文章主要介紹了在java中由類名和方法名字符串實現(xiàn)其調(diào)用方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09Java中LinkedList數(shù)據(jù)結(jié)構(gòu)的詳細介紹
這篇文章主要介紹了Java中LinkedList,Linked List 是 java.util 包中 Collection 框架的一部分,文中提供了詳細的代碼說明,需要的朋友可以參考下2023-05-05SpringBoot3 響應(yīng)式網(wǎng)絡(luò)請求客戶端的實現(xiàn)
本文主要介紹了SpringBoot3 響應(yīng)式網(wǎng)絡(luò)請求客戶端的實現(xiàn),文章詳細闡述了如何使用SpringBoot3的網(wǎng)絡(luò)請求客戶端進行HTTP請求和處理響應(yīng),并提供了示例代碼和說明,具有一定的參考價值,感興趣的可以了解一下2023-08-08Idea Project文件目錄不見了,只剩External Libraries和imi文件的解決
這篇文章主要介紹了Idea Project文件目錄不見了,只剩External Libraries和imi文件的解決方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08