我必须公开一个 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功能?
请尝试以下注释。如果需要,请导入更快的xml杰克逊库。
@JsonIgnoreProperties(ignoreUnknown = false)
public class PaymentNotification {
// logic here
}