使用 Spring MVC RequestBody 和 JSON 进行双向 JSON-Java 序列化
场景和问题
在使用 Spring MVC 的基于 Java 的 Web 应用程序中,双向寻求 JSON 和 Java 对象之间的数据序列化。 Java 到 JSON 路径运行良好,但反向路径(通过 @RequestBody 将 JSON 输入反序列化为 Java 对象)会遇到问题。
解决方案
要启用双向 JSON-Java 序列化,在 Spring MVC 配置中注册 MappingJacksonHttpMessageConverter 至关重要。这可以通过两种方式实现:
- 通过
> XML 配置中的标记 - 在基于 Java 的配置中使用 @EnableWebMvc 注释
注册消息转换器后,问题描述中显示的代码应该按预期运行。
工作示例
为了演示工作示例,下面提供了一个简单的 Web 应用程序:
- Java: Java 源代码包括一个控制器 ( TestController),带有 POST 端点 (/test/math)、请求对象 (Request) 和结果对象 (Result):
// ... code @Controller @RequestMapping("/test") public class TestController { @RequestMapping(method = RequestMethod.POST, value = "math") @ResponseBody public Result math(@RequestBody final Request request) { // ... code } } // ... code
- 配置: /src/main/resources/mvc-context.xml 文件使用注释驱动编程和组件扫描设置 Spring MVC:
<beans xmlns="http://www.springframework.org/schema/beans" ...> <annotation-driven></annotation-driven> <component-scan base-package="test.json"></component-scan> </beans>
- Web 应用程序: web.xml 文件定义 Spring MVC servlet:
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" ...> <servlet> <servlet-name>json</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>json</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> </web-app>
要测试应用程序:
- POST 到 http://localhost:8080/test /math 具有以下 JSON 正文:{"left": 13, "right": 7}
- 响应将是包含数字算术运算(加法、减法和乘法)结果的 JSON请求中提供。
以上是如何使用 Spring MVC 的 @RequestBody 启用双向 JSON-Java 序列化?的详细内容。更多信息请关注PHP中文网其他相关文章!

本文讨论了使用Maven和Gradle进行Java项目管理,构建自动化和依赖性解决方案,以比较其方法和优化策略。

本文使用Maven和Gradle之类的工具讨论了具有适当的版本控制和依赖关系管理的自定义Java库(JAR文件)的创建和使用。

本文讨论了使用咖啡因和Guava缓存在Java中实施多层缓存以提高应用程序性能。它涵盖设置,集成和绩效优势,以及配置和驱逐政策管理最佳PRA

本文讨论了使用JPA进行对象相关映射,并具有高级功能,例如缓存和懒惰加载。它涵盖了设置,实体映射和优化性能的最佳实践,同时突出潜在的陷阱。[159个字符]

Java的类上载涉及使用带有引导,扩展程序和应用程序类负载器的分层系统加载,链接和初始化类。父代授权模型确保首先加载核心类别,从而影响自定义类LOA


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

Dreamweaver Mac版
视觉化网页开发工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SublimeText3汉化版
中文版,非常好用