Я пытаюсь использовать аннотацию @RequestBody Spring внутри контроллера, который является частью портлета Spring MVC в Liferay 7.2
Я убедился, что json верен, и вызов на стороне клиента построен правильно,Json хорошо печатается в журнале консоли, и я ожидал, что аннотация @RequestBody получит json и выполнит «магию» и заполнит объект SearchForm.
Объект SearchForm, с которым это Pojoодно поле, и я следовал за учебником строка за строкой и проверял, чтобы все соответствовало правильно.
Это мой контроллер и мой вызов ajax
@ResourceMapping(value = "search")
public void search(@RequestBody SearchForm search, Errors errors) {
System.out.println("wow");
if (search != null) {
System.out.println(search.getUsername());
} else {
System.out.println("search obj was null");
}
}
<script>
$.ajax({
url: "${search}" ,
type: 'POST',
datatype:'json',
data: JSON.stringify(data),
success: function(data){
console.log(data);
}
});
});
Я ожидал, что объект SearchForm будет заполнен и напечатает что-то в журнале.Но я получаю следующее исключение
Caused by: java.lang.UnsupportedOperationException: @RequestBody not supported
Мне интересно, вызвана ли эта проблема несовместимостью между Liferay и requestBody, если да, как я могу использовать эту аннотацию в Liferay