springboot Controller直接返回String类型带来的乱码问题及解决
目录
- springboot Controller直接返回String类型乱码
- 学习springboot路上遇到的一个小坑
- 解决办法
- 总结
springboot Controller直接返回String类型乱码
学习springboot路上遇到的一个小坑
就js是controller在响应时如果直接返回String类型,得到的将是一串???的乱码
解决办法
就是配置请求个响应的编码格式
首先在 application.yaml 内设置 请求的编码格式
# Tomcat specifics tomcat: uri-encoding: UTF-8
然后设置response响应的编码python格式
在自定义的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目前在网络上似乎没有解决方案 // 百度,谷歌,各大论坛等。你可以试试去掉。 addDefaultHttpMessageqdNAnZkqyoConverters(converters); } @Override public void configureContentNegotiation(ContentNegotiationConfigurer configurer)python { configurer.favorPathExtension(false); }
现在测试下
总结
以上为个人经验,希望能给大编程客栈家一个参考,也希望大家多多支持编程客栈(www.devze.com)。
精彩评论