spring-mvc - Spring MVC 接收的 JSON 嵌套对象的 Spring Boot JACKSON 配置

标签 spring-mvc spring-boot jackson

我已经创建了 Spring Boot 应用程序,在这个应用程序中我有

@RestController
public class OfferController {

    @RequestMapping(value = "/saveOffer", method = RequestMethod.POST)
    public void saveOffer(@RequestBody Offer offer) {
    //...
    }
}

Offer 类包含 Address 类型的嵌套属性

public class Offer {

   private String title;
   private Address address;

   //... getters setters etc
}

当我从 UI 发送 JSON

{
  "offer": {
    "title":"TheBestOffer",
    "address": {
      "city": "Warsaw"
    }
  }
}

我的 REST Controller 收到 Offer,Address 属性为 null,但 title 属性包含值 "TheBestOffer"(与发送时相同)。

我假设随 Spring boot 一起提供的 JACKSON 需要对嵌套对象进行一些额外的配置?我尝试过这样做,但没有成功:/

最佳答案

Spring 自动执行此操作,我认为您的问题在于 json。

您需要删除优惠标签。

{
    "title":"TheBestOffer",
    "address": {
      "city": "Warsaw"
    }
}

关于spring-mvc - Spring MVC 接收的 JSON 嵌套对象的 Spring Boot JACKSON 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33957838/

相关文章:

java - 忘记密码功能 Spring(密码找回)

java - spring mvc 3.0 HTTP 状态 404

java - 如何在不读取 application.properties 的情况下以编程方式初始化辅助/其他数据源

java - 你如何覆盖 Jackson 2.0 中的空序列化程序?

json - Spring - 返回原始 JSON,无需双重序列化

java - Spring MVC,如何经常轮询服务器的最佳实践

java - Spring MVC 中 POST 方法后重定向

java - 带 Jersey 基本身份验证的 Spring Boot 始终出现 404

java - "-Drun.profiles=.."尝试执行 Spring Boot jar 时不起作用

java - Jackson 使用变量插值进行反序列化