我必须公开一个REST端点来接收付款交易的通知,并且客户端API文档已经提到“希望将来要将新字段添加到通知主体”,因此,我应该以“非严格格式”解析它“,所以如果解析器看到新字段,它不应该抛出异常。它应该优雅地忽略新字段。
如何以非严格格式实现JSON的解析?由于我的应用程序大量使用Spring,我一直在使用标准的Spring MVC控制器 -
@RequestMapping(method = RequestMethod.POST)
public ResponseEntity<?> notify(@RequestBody PaymentNotification notification) {
...
}
其中,PaymentNotification是一个POJO(没有注释),Spring会将JSON反序列化为自己的。由于我的POJO具有静态字段,这是否会使此解析默认为严格?如何实现JSON到Java对象的非严格解析,最好是使用Spring REST功能?
请尝试以下注释。如果需要,请导入fastxml jackson库。
@JsonIgnoreProperties(ignoreUnknown = false)
public class PaymentNotification {
// logic here
}