@RequestBody
功能: 将 HTTP 请求体中的 JSON 或 XML 数据绑定到 Java 对象上。
示例:
假设你有一个 User
类,代表用户信息:
控制器方法使用 @RequestBody
注解来接收 JSON 请求体:
如果你发送一个 POST 请求到 /user
,请求体是:
Spring 会自动将这个 JSON 数据转换成 User
对象,并传递给 createUser
方法。
@ResponseBody
功能: 将方法的返回值直接绑定到 HTTP 响应体上。
示例:
返回 JSON 数据的控制器方法:
请求到 /greeting
会返回:
@RequestParam
功能: 从请求的查询参数或表单数据中提取值。
示例:
提取查询参数的控制器方法:
请求到 /search?query=spring&limit=5
会返回:
@PathVariable
功能: 从 URL 路径中提取变量值。
示例:
提取路径变量的控制器方法:
请求到 /user/12345
会返回:
@ModelAttribute
功能: 从请求参数中绑定数据到方法参数的模型对象。
示例:
提取表单提交数据的控制器方法:
假设表单数据如下:
提交表单后,registerUser
方法会接收到一个 User
对象,其中 name
为 “Bob” 和 age
为 25。