Spring 请求参数
在Spring MVC中,请求参数是客户端发送给服务器的数据。这些数据可以通过URL、表单、HTTP头等多种方式传递。Spring MVC提供了多种方式来接收和处理这些请求参数,使得开发者能够轻松地与客户端进行数据交互。
1. 基本参数绑定
Spring MVC允许我们将请求参数直接绑定到控制器方法的参数上。这是最常见的处理请求参数的方式。
示例:基本参数绑定
@RestController
public class MyController {
@GetMapping("/greet")
public String greet(@RequestParam String name) {
return "Hello, " + name + "!";
}
}
在这个示例中,@RequestParam
注解用于将请求参数name
绑定到方法参数name
上。如果客户端发送请求/greet?name=John
,服务器将返回Hello, John!
。
备注
如果请求参数名称与方法参数名称不一致,可以使用@RequestParam("paramName")
来指定参数名称。
2. 路径变量
路径变量是URL的一部分,通常用于标识资源。Spring MVC允许我们通过@PathVariable
注解将路径变量绑定到方法参数上。
示例:路径变量
@RestController
public class MyController {
@GetMapping("/user/{id}")
public String getUser(@PathVariable Long id) {
return "User ID: " + id;
}
}
在这个示例中,@PathVariable
注解用于将路径变量id
绑定到方法参数id
上。如果客户端发送请求/user/123
,服务器将返回User ID: 123
。
3. 查询参数
查询参数是URL中?
后面的部分,通常用于过滤或排序数据。Spring MVC允许我们通过@RequestParam
注解将查询参数绑定到方法参数上。
示例:查询参数
@RestController
public class MyController {
@GetMapping("/search")
public String search(@RequestParam String query, @RequestParam(required = false, defaultValue = "1") int page) {
return "Searching for: " + query + " on page " + page;
}
}
在这个示例中,@RequestParam
注解用于将查询参数query
和page
绑定到方法参数上。如果客户端发送请求/search?query=spring&page=2
,服务器将返回Searching for: spring on page 2
。
提示
required = false
表示该参数是可选的,defaultValue
用于指定默认值。