zoukankan      html  css  js  c++  java
  • SpringMVC 访问controller层出错:No converter found for return value of type: class java.util.HashMap【转载自https://blog.csdn.net/wtdm_160604/article/details/82944119】

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

    下面给出controller中对应方法:

    @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依赖:

              <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>

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

  • 相关阅读:
    如何降低微服务测试成本?我的经验之谈
    Serverless 在 SaaS 领域的最佳实践
    技术干货 | “选图预览并上传”的场景如何解?全网最全方案汇总来了
    SRE技术保障平台-盯屏中心TAC: 混合云一站式告警运维平台
    DTCC 2020 | 阿里云王涛:阿里巴巴电商数据库上云实践
    中值滤波算法 C
    python logger.debug_python中的logger模块讲解
    唯一值
    接触jeecgBoot低代码开发
    php数字操作
  • 原文地址:https://www.cnblogs.com/KeepZ/p/13159519.html
Copyright © 2011-2022 走看看