zoukankan      html  css  js  c++  java
  • SpringBoot 03_利用FastJson返回Json数据

    自上一节:SpringBoot 02_返回json数据,可以返回json数据之后,由于有些人习惯于不同的Json框架,比如fastjson,这里介绍一下如何在SpringBoot中集成fastjson来实现对数据的json序列化。

    在使用fastjson时,可以有以下两种集成方式,但是都需要引入fastjson的依赖包

    1:引入fastjson依赖包

    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.31</version>
    </dependency>

    2:新建User.java

    @Data
    public class User {
    
        // 姓名
        private String name;
        // 年龄
        private Integer age;
        // 生日private LocalDateTime birthday;
        // 备注private String remark;
    }

    3:集成fastjson

    1:方式一

    1. 启动类继承extends WebMvcConfigurerAdapter
    2. 覆盖方法configureMessageConverters

    启动类:

    @SpringBootApplication
    public class FastjsonApplicationOne extends WebMvcConfigurerAdapter{
    
    
        /**
         * 在这里注册fastjson的类型转换器,需要版本1.2.10以后的
         * 方式一:
         *  通过继承WebMvcConfigurerAdapter,然后添加converter
         * @param converters
         */
        @Override
        public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
            super.configureMessageConverters(converters);
            FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter();
            FastJsonConfig fastJsonConfig = new FastJsonConfig();
            fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
            fastJsonHttpMessageConverter.setFastJsonConfig(fastJsonConfig);
            converters.add(fastJsonHttpMessageConverter);
        }
    
        public static void main(String[] args) {
            SpringApplication.run(FastjsonApplicationOne.class, args);
        }
    }

    2:方式二

    • 在App.java启动类中,注入Bean : HttpMessageConverters

    启动类

    @SpringBootApplication
    public class FastjsonApplicationTwo {
    
    
        public static void main(String[] args) {
            SpringApplication.run(FastjsonApplicationTwo.class, args);
        }
    
        @Bean
        HttpMessageConverters fastJsonHttpMessageConverters(){
            FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter();
            FastJsonConfig fastJsonConfig = new FastJsonConfig();
            fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
            fastJsonHttpMessageConverter.setFastJsonConfig(fastJsonConfig);
            HttpMessageConverter<?> converter = fastJsonHttpMessageConverter;
            return new HttpMessageConverters(converter);
        }
    }

    4:Controller类的编写

    @RestController
    @RequestMapping("/fastJson")
    public class FastJsonController {
    
        @GetMapping("/getUser")
        public User getUser(){
            User user = new User();
            user.setName("Bob");
            user.setAge(5);
            user.setBirthday(LocalDateTime.now());
            user.setRemark("This is remark.");
            return user;
        }
    }

    5:分别执行FastjsonApplicationOne和FastjsonApplicationTwo的主方法,输入:lcoalhost:8080/fastJson/getUser进行测试:

    image

    如果能够返回上述结果,恭喜你,你已经可以利用SpringBoot集成fastjson来对返回数据进行json化处理了。

  • 相关阅读:
    CSS-calc 兼容写法
    一行代码轻松搞定各种IE兼容问题,IE6,IE7,IE8,IE9,IE10
    地图调起URI API(通过连接直接调用百度地图)
    获取字体图标(阿里图标网站)
    CSS-解决苹果点击高亮、安卓select灰色背景(select下拉框在IOS中背景变黑、出现阴影问题)
    移动端 input 输入框实现自带键盘“搜索“功能并修改X
    常用正则表达式—邮箱(Email)
    JS正则表达式验证是否为11位有效手机号码
    input,textarea在ios和Android上阴影和边框的处理方法(在移动端)
    three.map.control
  • 原文地址:https://www.cnblogs.com/homeword/p/7429833.html
Copyright © 2011-2022 走看看