当前位置: 代码网 > it编程>编程语言>Java > springboot Controller直接返回String类型带来的乱码问题及解决

springboot Controller直接返回String类型带来的乱码问题及解决

2024年11月26日 Java 我要评论
springboot controller直接返回string类型乱码学习springboot路上遇到的一个小坑就是controller在响应时如果直接返回string类型,得到的将是一串???的乱码

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);
    }

现在测试下

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com