整理了下接收参数的注解。
注解绑定来源支持类型典型用途备注@ModelAttribute请求参数自动绑定到 JavaBean(含嵌套对象)JavaBean(含集合)表单提交(application/x-www-form-urlencoded)可用于初始化默认值@RequestBody请求体(JSON/XML)任意类型(常用于对象)JSON 请求体 {"id":1,"name":"Tom"}常与 @PostMapping、@PutMapping 结合使用@RequestParam请求参数(Query 或 Form)基本类型、String、数组、List?id=1&name=Tom适合简单参数@PathVariableURL 路径参数基本类型、String/user/123 → id=123REST 风格接口简单示例对比
@ModelAttribute- @PostMapping("/register")
- public String register(@ModelAttribute User user) {
- // 表单数据将自动绑定到 User 对象中
- return "userInfo";
- }
复制代码 @RequestBody- @PostMapping("/api/user")
- public ResponseEntity<?> saveUser(@RequestBody User user) {
- // JSON 请求体 {"name":"Tom","age":20}
- return ResponseEntity.ok(user);
- }
复制代码 @RequestParam- @GetMapping("/search")
- public String search(@RequestParam String keyword) {
- // /search?keyword=java
- return keyword;
- }
复制代码 @PathVariable- @GetMapping("/user/{id}")
- public String getUser(@PathVariable Long id) {
- return "ID: " + id;
- }
复制代码 注意,@RequestBody 需要使用 HttpMessageConverter(如 Jackson、FastJson)支持 JSON 解析。
恐惧与否是你的选择。-- 烟沙九洲
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |