關(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. 默認(rèn)值
- 作用:當(dāng)參數(shù)不存在時,使用默認(rèn)值。
- 語法:
@RequestParam(value = "參數(shù)名", defaultValue = "默認(rèn)值") 數(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)文章
springboot關(guān)閉druid監(jiān)控 druid2改配置文件無效的解決
這篇文章主要介紹了springboot關(guān)閉druid監(jiān)控 druid2改配置文件無效的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05
Java多線程導(dǎo)致CPU占用100%解決及線程池正確關(guān)閉方式
1000萬表數(shù)據(jù)導(dǎo)入內(nèi)存數(shù)據(jù)庫,按分頁大小10000查詢,多線程,15條線程跑,最后發(fā)現(xiàn)CPU占用100%卡死,那么如何解決,本文就來介紹一下,感興趣的朋友可以了解一下2021-05-05

