RequestBody注释在Liferay 7 Spring MVC Portlet中不起作用

时间:2019-07-05 12:47:02

标签: ajax spring liferay-7

我正在尝试在Controller中使用@RequestBody Spring批注,它是Liferay 7.2中Spring MVC Portlet的一部分

我确保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中使用此注释

0 个答案:

没有答案