springboot controller直接返回string类型乱码
学习springboot路上遇到的一个小坑
就是controller在响应时如果直接返回string类型,得到的将是一串???的乱码
解决办法
就是配置请求个响应的编码格式
首先在 application.yaml 内设置 请求的编码格式
# tomcat specifics tomcat: uri-encoding: utf-8
然后设置response响应的编码格式
在自定义的springboot配置类内加入
@bean public httpmessageconverter<string> responsebodyconverter() { return new stringhttpmessageconverter(charset.forname("utf-8")); } @override public void configuremessageconverters(list<httpmessageconverter<?>> converters) { converters.add(responsebodyconverter()); // 这里必须加上加载默认转换器,不然bug玩死人,并且该bug目前在网络上似乎没有解决方案 // 百度,谷歌,各大论坛等。你可以试试去掉。 adddefaulthttpmessageconverters(converters); } @override public void configurecontentnegotiation(contentnegotiationconfigurer configurer) { configurer.favorpathextension(false); }
现在测试下
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论