zoukankan      html  css  js  c++  java
  • SpringMVC的数据响应-回写数据:返回json格式字符串或对象

    不管是返回json格式字符串还是返回一个类型对象或集合,最终的呈现效果都是json格式


    返回json格式字符串

    步骤一:在pom.xml中导入依赖包

    <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>2.9.4</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
                <version>2.9.4</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-annotations</artifactId>
                <version>2.9.4</version>
            </dependency>
    

    步骤二:java代码实现

    @RequestMapping("/six")
        @ResponseBody
        public String test6() throws JsonProcessingException {
    
            User user = new User();
            user.setName("liu");
            user.setAge(12);
    
            ObjectMapper objectMapper = new ObjectMapper();
            String re = objectMapper.writeValueAsString(user);
            return re;
        }
    

    返回对象或集合

    通过SpringMVC帮助我们对对象或集合进行json字符串的转换并回写,为处理器适配器配置消息转换参数,指定使用jackson进行对象或集合的转换,因此需要在spring-mvc.xml中进行如下配置:

    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
            <property name="messageConverters">
                <list>
                    <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"></bean>
                </list>
            </property>
        </bean>
    

    但是这样配置比较麻烦,配置的代码比较多,因此,我们也可以使用mvc的注解驱动代替上述配置,直接在spring-mvc.xml文件中添加下面代码就行了

    <mvc:annotation-driven></mvc:annotation-driven>

    记得得在头部的beans中添加

        xmlns:mvc="http://www.springframework.org/schema/mvc"
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd
    

    java代码实现

    @RequestMapping("/seven")
        @ResponseBody
        public User test7() {
            User user = new User();
            user.setName("haha");
            user.setAge(13);
            return user;
        }
    
  • 相关阅读:
    【openCV学习笔记】【2】读取并播放一段视频
    Net WebApi中使用Swagger
    .pfx格式和.Cer格式的区别
    数字证书原理
    ASP.NET发送电子邮件
    WindowsAzure上把WebApp和WebService同时部署在一个WebRole中
    JS原型与原型链终极详解
    三、ASP.NET MVC Controller 控制器(二:IController控制器的创建过程)
    二、ASP.NET MVC Controller 控制器(一:深入解析控制器运行原理)
    一、ASP.NET Routing路由(深入解析路由系统架构原理)
  • 原文地址:https://www.cnblogs.com/lyd447113735/p/14406216.html
Copyright © 2011-2022 走看看