Java 如何在SpringREST中以非严格模式解析JSON以允许将来的新字段?

Java 如何在SpringREST中以非严格模式解析JSON以允许将来的新字段?,java,json,spring,rest,spring-rest,Java,Json,Spring,Rest,Spring Rest,我必须公开一个REST端点来接收支付交易的通知,客户机API文档提到希望将来向通知主体添加新字段,因此,我应该以非严格格式对其进行解析,这样,如果解析器看到新字段,就不应该抛出异常。它应该优雅地忽略新字段 如何以非严格格式实现JSON解析?由于我的应用程序大量使用Spring,我一直在使用标准的SpringMVC控制器- @RequestMapping(method = RequestMethod.POST) public ResponseEntity<?> notify(@Requ

我必须公开一个REST端点来接收支付交易的通知,客户机API文档提到希望将来向通知主体添加新字段,因此,我应该以非严格格式对其进行解析,这样,如果解析器看到新字段,就不应该抛出异常。它应该优雅地忽略新字段

如何以非严格格式实现JSON解析?由于我的应用程序大量使用Spring,我一直在使用标准的SpringMVC控制器-

@RequestMapping(method = RequestMethod.POST)
public ResponseEntity<?> notify(@RequestBody PaymentNotification notification) {
    ...
}

其中PaymentNotification是一个POJO,没有任何注释,Spring将自己反序列化JSON。由于我的POJO有静态字段,这会使默认情况下的解析更加严格吗?如何实现JSON到Java对象的非严格解析,最好使用Spring REST功能?

请尝试下面的注释。如果需要,请导入fasterxml库

@JsonIgnoreProperties(ignoreUnknown = false)
public class PaymentNotification {
  // logic here
}

将该属性切换为true,您会得到一个答案:@MartinFrey我在它周围搜索,发现您的答案应该是正确的。有趣的是,我有一个框架,可以从xml文件中定义的bean创建POJO类。生成的POJO类中没有注释,我认为也没有提供注释。但是,当我在请求中提供额外字段时,我的代码没有中断。Spring是否神奇地处理了这个场景,或者是否有一个配置管理这个行为,并且默认设置为非严格模式?