关于@RequestParam的主要用法详解
更新时间:2025年03月22日 09:49:00 作者:HinINAX
这篇文章主要介绍了关于@RequestParam的主要用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
1. 基本用法
- 作用:从请求中提取查询参数或表单数据。
- 语法:
@RequestParam("参数名") 数据类型 参数名- 示例:
@GetMapping("/greet")
public String greet(@RequestParam("name") String name) {
return "Hello, " + name + "!";
}- 请求:
/greet?name=John - 响应:
Hello, John!
2. 默认值
- 作用:当参数不存在时,使用默认值。
- 语法:
@RequestParam(value = "参数名", defaultValue = "默认值") 数据类型 参数名
- 示例:
@GetMapping("/greet")
public String greet(@RequestParam(value = "name", defaultValue = "Guest") String name) {
return "Hello, " + name + "!";
}- 请求:
/greet - 响应:
Hello, Guest!
3. 可选参数
- 作用:允许参数不存在。
- 语法:
@RequestParam(value = "参数名", required = false) 数据类型 参数名
- 示例:
@GetMapping("/greet")
public String greet(@RequestParam(value = "name", required = false) String name) {
return "Hello, " + (name != null ? name : "Guest") + "!";
}- 请求:
/greet - 响应:
Hello, Guest!
4. 绑定到对象
- 作用:将多个参数绑定到一个对象中。
- 示例:
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 - 响应:
User ID: 1, Name: John
5. 绑定到集合或数组
- 作用:将多个同名参数绑定到集合或数组中。
- 示例:
@GetMapping("/hobbies")
public String getHobbies(@RequestParam("hobby") List<String> hobbies) {
return "Hobbies: " + String.join(", ", hobbies);
}- 请求:
/hobbies?hobby=Reading&hobby=Traveling - 响应:
Hobbies: Reading, Traveling
6. 绑定到 Map
- 作用:将动态参数绑定到
Map中。 - 示例:
@GetMapping("/params")
public String getParams(@RequestParam Map<String, String> params) {
return "Params: " + params.toString();
}- 请求:
/params?name=John&age=25 - 响应:
Params: {name=John, age=25}
7. 处理复杂类型
- 作用:支持日期、枚举等复杂类型的转换。
- 示例:
@GetMapping("/date")
public String getDate(@RequestParam("date") @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate date) {
return "Date: " + date.toString();
}- 请求:
/date?date=2023-10-01 - 响应:
Date: 2023-10-01
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Spring MVC文件请求处理MultipartResolver详解
这篇文章主要介绍了Spring MVC文件请求处理详解:MultipartResolver,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2022-11-11
Springboot 格式化LocalDateTime的方法
这篇文章主要介绍了Springboot格式化LocalDateTime的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2022-05-05
IDEA Error:java: 无效的源发行版: 17错误
本文主要介绍了IDEA Error:java: 无效的源发行版: 17错误,这个错误是因为您的IDEA编译器不支持Java 17版本,您需要更新您的IDEA编译器或者将您的Java版本降级到IDEA支持的版本,本文就来详细的介绍一下2023-08-08
Idea Project文件目录不见了,只剩External Libraries和imi文件的解决
这篇文章主要介绍了Idea Project文件目录不见了,只剩External Libraries和imi文件的解决方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-08-08


最新评论