Spring REST Controller принимает произвольные элементы в теле запроса - PullRequest
0 голосов
/ 29 мая 2018

Я выполняю вызов 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, хотя в классе POJO определенно нет свойства "aaaa"на который отображается ответ.Отладка показывает, что полностью пустой экземпляр POJO передается в контроллер.

Как я могу заставить Spring жаловаться на это?У нас были пользователи, которые не могли понять, почему обновление не работало, и они просто неправильно написали имя свойства - и не понимали, что допустили ошибку, поскольку получили 200 OK.

Могу ли я как-то использоватьBindingResult для этого?Изменение метода моего контроллера на что-то вроде этого не работает:

public RsCampaign updateCampaign(@Validated @RequestBody RsCampaign rsCampaign, BindingResult bindingResult, ...

Spring потом жалуется:

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

Этот вопрос похож на этот, но мне не помогает: @ RequestBody не ограничивается типом POJO, а BindingResult hasErrors всегда false

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...