猿问

有没有童鞋遇到过同样的问题:springMVC 使用注解@ResponseBody 不能返回JSON数据

控制器中代码
@RequestMapping(value="/listArea",method=RequestMethod.GET)
@ResponseBody
privateMaplistArea(){
MapmodelMap=newHashMap<>();
Listlist=areaService.getAreaList();
modelMap.put("rows",list);
modelMap.put("total",list.size());
returnmodelMap;
}
xml中的使用了这个
pom.xml引入下列依赖
com.fasterxml.jackson.core
jackson-core
2.9.8
com.fasterxml.jackson.core
jackson-annotations
2.9.0
javax.servlet
javax.servlet-api
3.1.0
访问接口时报错
WARNorg.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver-Resolved[org.springframework.http.converter.HttpMessageNotWritableException:Noconverterfoundforreturnvalueoftype:classjava.util.HashMap]
DEBUGorg.springframework.web.servlet.DispatcherServlet-Completed500INTERNAL_SERVER_ERROR
白猪掌柜的
浏览 399回答 2
2回答

aluckdog

1,返回值类型写错了,因为@responsebody返回的数据是JSON格式,但是JSON格式类型是String,所以你的返回值应该是String而不是Map2,还有方法修饰词应改为public而不是private

呼啦一阵风

缺少Jackson的绑定依赖,加上这个依赖试试com.fasterxml.jackson.corejackson-databind${jackson.version}
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答