首先要导入所需要的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;
    }

 

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

posted on 2018-08-13 21:03  帅过驴的袋鼠  阅读(261)  评论(0编辑  收藏  举报