我应该处理请求中意外的json字段吗?让我们假设我已经得到了paymentDTO作为我的控制器的输入;
public class PaymentDTO {
private String fromAccountNumber;
private String toAccountNumber;
private BigDecimal amount;
... constructor
... getters
... setters
}
我期望的请求是:
{
"fromAccountNumber": "1",
"toAccountNumber": "2",
"amount": 50.0
}
如果用户发布如下请求:
{
"fromAccountNumber": "1",
"toAccountNumber": "2",
"amount": 50.0,
"customField1": 100,
"anotherField2: "data"
}
它会导致我的Spring Boot控制器出现任何问题吗?如果是,我应该如何处理意外的json请求字段?
我的建议是在不匹配的属性上失败(即400 Bad Request,而不是a 500(。这样,客户的错误会更快地显现出来。
如果使用springboot,在application.properties
文件中添加此行将忽略未知属性:
spring.jackson.deserialization.fail-on-unknown-properties=false