欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > spring-webmvc @RequestBody 典型用法

spring-webmvc @RequestBody 典型用法

2025/6/22 10:56:08 来源:https://blog.csdn.net/weixin_37646636/article/details/148734338  浏览:    关键词:spring-webmvc @RequestBody 典型用法

典型用法

接收 JSON 请求体并转换为 Java 对象

@PostMapping("/users")
public String createUser(@RequestBody User user) {return "User created: " + user.getName();
}// 客户端请求示例(JSON):{"name": "Alice","email": "alice@example.com"}
// Spring 自动使用 HttpMessageConverter(如 Jackson)将 JSON 转换为 User 对象。

接收原始 JSON 字符串(String 类型)

如果你不想立即反序列化对象,也可以直接接收原始 JSON,适用于需要手动解析或转发的场景。

@PostMapping("/data")
public String receiveJson(@RequestBody String rawJson) {return "Received JSON: " + rawJson;
}

接收 Map 结构(灵活处理动态字段)

当请求结构不确定时,可以使用 Map 接收数据

@PostMapping("/map")
public String handleMap(@RequestBody Map<String, Object> data) {return "Received name: " + data.get("name");
}// 请求示例:{"name": "Bob","age": 30}

结合 @Valid 进行参数校验

你可以配合 @Valid 注解对请求体进行校验,需要在 User 类中添加 JSR 380 校验注解(如 @NotBlank, @Email 等)

@PostMapping("/validate")
public String validateUser(@Valid @RequestBody User user, BindingResult result) {if (result.hasErrors()) {return "Validation failed";}return "Valid user: " + user.getName();
}

接收嵌套结构(List / 复杂对象)

@PostMapping("/batch")
public String createUsers(@RequestBody List<User> users) {return "Total users: " + users.size();
}// 请求示例:[{"name": "Alice"},{"name": "Bob"}]

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词