zoukankan      html  css  js  c++  java
  • springmvc配置接口返回的数据是json

    首先要导入所需要的jar,使用maven方式管理jar包

    <!-- 配置接口返回数据json -->
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
                <version>2.7.3</version>
            </dependency>
    
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>2.7.3</version>
            </dependency>
    
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
                <version>2.7.3</version>
            </dependency>

    在spring-mvc的配置文件中增加两个bean

       <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
            <property name="messageConverters">
                <list>
                    <!--json视图拦截器,读取到@ResponseBody的时候去配置它-->
                    <ref bean="jsonHttpMessageConverter"/>
                </list>
            </property>
        </bean>
        <!--json转化器,它可以将结果转化-->
        <bean id="jsonHttpMessageConverter"
              class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
            <property name="supportedMediaTypes">
                <list>
                    <value>application/json;charset=UTF-8</value>
                </list>
            </property>
        </bean>

    在controller中配置返回视图模式

        @RequestMapping("test")
        @ResponseBody
        public Map<String, Object> test(String id) {
            Map<String, Object> map = new HashMap<>();
            String name = cityService.getCityName(id);
            System.out.println(name);
            if (name != null) {
                map.put("result", name);
            } else {
                map.put("result", "查询失败");
            }
            return map;
        }

    亲测有效,如果无效的话,肯定是别的地方配置错误了,此方法绝对有效!!!

  • 相关阅读:
    002-Linux下防火墙相关命令操作
    001-网卡配置
    vs2012中自带IIS如何让其他电脑访问
    001-Mono for android在vs2012中发布设置
    小知识:utf-8和utf8mb4字符集
    Maven 模块化开发
    JUnit 单元测试
    解决8080端口占用问题
    (三)Tomcat服务器 -------JavaWeb的学习之路
    (一)走进JavaWeb的世界 -------JavaWeb的学习之路
  • 原文地址:https://www.cnblogs.com/zhanzhuang/p/9470915.html
Copyright © 2011-2022 走看看