springboot学习-采坑日记

学习过程中编写的源码,欢迎大家批评、指正、star!! 

https://github.com/xuhaidongGitHub/springboot-xhd 

  • 异常:This application has no explicit mapping for /error, so you are seeing this as a fallback。

产生原因:app启动类未放在包目录的最外层,由于springboot中启动类只会扫描启动类所在包目录的所有子包,所以会导致加载不到这个访问路径。

解决方法:将启动类放置在项目包的最外层。

 

  •  SpringBoot使用FastJson的Json解析框架出现中文乱码现象

产生原因:由于FastJson使用时没有设置返回的编码格式会导致中文出现乱码。

解决方法:

1.通过设置Converter的MediaType的方式解决

        //定义MediaType集合
        List<MediaType> fastMediaTypes = new ArrayList<>();
        //设置MediaType为UTF-8
        fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
        //将编码信息添加到Converter中
        fastConverter.setSupportedMediaTypes(fastMediaTypes);

2.通过给@RequestMapping注解添加produces的方式解决

@RequestMapping(value = "/getUser" ,produces = "application/json; charset=utf-8")

注意事项:springboot配置fastjson为默认的json解析框架有两种方式,一种是启动类继承WebMvcConfigurerAdapter类并重写configureMessageConverters方法,另一种是通过bean注入的方式配置一个HttpMessageConverters对象,并注入到spring容器中。建议使用第二种方式配置fastjson,原因是第一种方式的所继承的WebMvcConfigurerAdapter类已被废弃,且有一定的BUG存在,例如配置MediaType后@JSONField注解失效。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值