我正在尝试在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中使用此注释