Spring REST Controller接受请求体中的任意元素

时间:2018-05-29 09:24:26

标签: java spring rest validation request

我正在进行PUT调用以更新现有实体并发送以下请求正文:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<campaign xmlns:xlink="http://www.w3.org/1999/xlink">
    <aaaa>123</aaaa>
</campaign>

服务器响应200 OK,虽然肯定没有属性&#34; aaaa&#34;在映射响应的POJO类中。调试显示正在将完全空的POJO实例传递给控制器​​。

我如何让Spring抱怨它?我们的用户无法理解为什么更新不起作用而且他们只是错误拼写了一个属性名称 - 并且他们没有理解他们犯了错误,因为他们有200 OK。

我可以以某种方式使用BindingResult吗?将我的控制器方法更改为这样的方法不起作用:

public RsCampaign updateCampaign(@Validated @RequestBody RsCampaign rsCampaign, BindingResult bindingResult, ...
然后春天抱怨:

java.lang.IllegalStateException: Errors/BindingResult argument declared without preceding model attribute. Check your handler method signature!

这个问题类似,但对我没有帮助:@RequestBody not restricting to POJO type and BindingResult hasErrors always false

0 个答案:

没有答案