前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringMVC 访问controller层出错:No converter found for return value of type: class java.util.HashMap【转载自ht

SpringMVC 访问controller层出错:No converter found for return value of type: class java.util.HashMap【转载自ht

作者头像
_DIY
发布2020-06-23 16:03:17
6610
发布2020-06-23 16:03:17
举报

最近在搭建SSM框架时候,测试controller方法出现通过url请求不通,报错如下:

下面给出controller中对应方法:

代码语言:javascript
复制
@Controller
@RequestMapping("/superadmin")
public class AreaController {
    @Autowired
    private AreaService areaService;

    @RequestMapping(value = "/listareas", method = RequestMethod.GET)
    @ResponseBody
    public Map<String, Object> listArea() {
        HashMap modleMap = new HashMap();
        List<Area> list;
        try {
            list = areaService.getAllAreas();
            modleMap.put("rows", list);
            modleMap.put("total", list.size());
        } catch (Exception e) {
            modleMap.put("success", false);
            modleMap.put("errMsg", e.toString());
            e.printStackTrace();
        }
        return modleMap;
    }

通过如下请求地址: http://localhost:8080/o2o/superadmin/listareas/ 发现请求不通,报错如上。

1、项目启动是否能访问到index.jsp首页,如果能访问到说明项目搭建是没问题的

2、检查spring-controller.xml 与 WEB-INF/web.xml配置文件,下面我给出我的配置,

以及项目目录结构;

3.确认上面都没有问题情况下,测试能否请求返回WEB-INF/jsp/下静态jsp页面

访问静态资源配置没问题,仔细看看上面出现的问题,No converter found for return value of type: class java.util.HashMap:Exception org.springframework.http.converter.HttpMessageNotWritableException: No converter found for return value of type: class java.util.HashMap

仔细看看,原来缺少转换为json格式jar包,@ResponseBody注解标识该方法的返回值直接写回到HTTP响应体中去(而不会被被放置到Model 中或被解释为一个视图名),因此这里需要引入jar包,给出maven依赖:

代码语言:javascript
复制
          <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.9.6</version>
         </dependency>
         <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>2.9.6</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.9.6</version>
        </dependency>

解决问题,有时候东西多了就记不住,把它记下来。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-06-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档