我有一个spring-boot-rest-api服务。仅针对其余的POST api调用之一我希望确保在请求主体对象中不发送任何其他属性。我已经意识到有一种方法可以使用自定义objectMapper
,在这种情况下,它将无法取消序列化,但我在为特定调用设置对象映射器时遇到了一些问题。什么是最好的方法,请写/扩展我的例子。
我的例子:
PostMapping("/")
public static ResponseEntity apiCallNeedsToFailInCaseOfAdditionalPropertiesInBody(@RequestBody body){
/// some code
}
感谢
据我所知,如果您试图通过Postman访问API,当您传递额外的参数时,它会自动向您提供一个结果,其中包含错误消息"Additional parameters/properties found"
或类似的错误响应。
您的解决方案也会起作用,但不需要同样的解决方案
相反,当应用程序中有端点增长时,可以使用@Valid and @Validated
注释来处理请求体参数验证。
检查这篇文章是否为您的查询提供了一些线索
春季中@Valid和@Validated之间的差异