Аннотация RequestBody не работает в портлете Liferay 7 Spring MVC - PullRequest
0 голосов
/ 05 июля 2019

Я пытаюсь использовать аннотацию @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

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