springboot配置fastjson并解决乱码问题

  • 在pom.xml中添加fastjson依赖
<!-- 添加fastjson依赖  -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.15</version>
    </dependency>
  • 配置fastjson
    第一种方法:

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

@SpringBootApplication
public class ApiCoreApp  extends WebMvcConfigurerAdapter {

    @Override
    @Override
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
        //1.需要先定义一个Convert 转换消息的对象;
        FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();

        //2.添加fastjson的配置信息,比如:是否要格式化返回就送数据;
        FastJsonConfig fastJsonConfig = new FastJsonConfig();
        fastJsonConfig.setSerializerFeatures(
                SerializerFeature.PrettyFormat
        );


        //3.在Convert中添加配置信息;
        fastConverter.setFastJsonConfig(fastJsonConfig);       

        //4.将canvert添加到converters当中
        converters.add(fastConverter);
    }

第二种方法:
在App.java启动类中,注入Bean : HttpMessageConverters。

    @Bean
    public HttpMessageConverters fastJsonHttpMessageConverters() {
        //1.需要先定义一个Convert 转换消息的对象;
        FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();

        //2.添加fastjson的配置信息,比如:是否要格式化返回就送数据;
        FastJsonConfig fastJsonConfig = new FastJsonConfig();
        fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);

        //3.在Convert中添加配置信息;
        fastConverter.setFastJsonConfig(fastJsonConfig);

        HttpMessageConverter<?> converter = fastConverter;
        return new HttpMessageConverters(converter);
    }

运行后出现中文乱码:(解决)

        //处理中文乱码问题
        List<MediaType> fastMediaTypes = new ArrayList<>();
        fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
        fastConverter.setSupportedMediaTypes(fastMediaTypes);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Fastjson引入Spring Boot项目的步骤有: 1. 添加Fastjson maven依赖 在pom.xml文件中添加以下依赖: ``` <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.62</version> </dependency> ``` 2. 配置FastjsonSpringBoot项目的启动类中添加如下代码: ``` @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } @Configuration public class FastJsonConfig { @Bean public HttpMessageConverters fastJsonHttpMessageConverters() { // 1.定义一个converters转换消息的对象 FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter(); // 2.添加fastjson配置信息,比如:是否要格式化返回的json数据 FastJsonConfig fastJsonConfig = new FastJsonConfig(); fastJsonConfig.setSerializerFeatures( SerializerFeature.PrettyFormat ); // 3.在converter中添加配置信息 fastConverter.setFastJsonConfig(fastJsonConfig); HttpMessageConverter<?> converter = fastConverter; return new HttpMessageConverters(converter); } } } ``` 3. 使用Fastjson 在Controller或Service中,使用Fastjson进行数据的序列化和反序列化。例如: ``` @RestController @RequestMapping("/user") public class UserController { @Autowired private UserService userService; @GetMapping("/{id}") public User getUser(@PathVariable Long id) { return userService.getUserById(id); } @PostMapping("/") public String addUser(@RequestBody User user) { userService.addUser(user); return "success"; } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值