springboot Controller直接返回String類型帶來(lái)的亂碼問(wèn)題及解決
springboot Controller直接返回String類型亂碼
學(xué)習(xí)springboot路上遇到的一個(gè)小坑
就是controller在響應(yīng)時(shí)如果直接返回String類型,得到的將是一串???的亂碼


解決辦法
就是配置請(qǐng)求個(gè)響應(yīng)的編碼格式
首先在 application.yaml 內(nèi)設(shè)置 請(qǐng)求的編碼格式
# Tomcat specifics tomcat: uri-encoding: UTF-8

然后設(shè)置response響應(yīng)的編碼格式
在自定義的springboot配置類內(nèi)加入
@Bean
public HttpMessageConverter<String> responseBodyConverter() {
return new StringHttpMessageConverter(Charset.forName("UTF-8"));
}
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
converters.add(responseBodyConverter());
// 這里必須加上加載默認(rèn)轉(zhuǎn)換器,不然bug玩死人,并且該bug目前在網(wǎng)絡(luò)上似乎沒(méi)有解決方案
// 百度,谷歌,各大論壇等。你可以試試去掉。
addDefaultHttpMessageConverters(converters);
}
@Override
public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
configurer.favorPathExtension(false);
}
現(xiàn)在測(cè)試下


總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- SpringBoot如何實(shí)現(xiàn)調(diào)用controller和Service層方法
- springboot中的controller參數(shù)映射問(wèn)題小結(jié)
- springboot中Controller內(nèi)文件上傳到本地及阿里云操作方法
- springboot如何通過(guò)controller層實(shí)現(xiàn)頁(yè)面切換
- SpringBoot之controller參數(shù)校驗(yàn)詳解
- springboot中@RestController注解實(shí)現(xiàn)
- SpringBoot通過(guò)注解監(jiān)測(cè)Controller接口的代碼示例
- springboot controller參數(shù)注入方式
- SpringBoot中@RestControllerAdvice @ExceptionHandler異常統(tǒng)一處理類失效原因分析
- SpringBoot和MybatisPlus實(shí)現(xiàn)通用Controller示例
相關(guān)文章
解決一個(gè)JSON反序列化問(wèn)題的辦法(空字符串變?yōu)榭占?
在平時(shí)的業(yè)務(wù)開(kāi)發(fā)中,經(jīng)常會(huì)有拿到一串序列化后的字符串要來(lái)反序列化,下面這篇文章主要給大家介紹了如何解決一個(gè)JSON反序列化問(wèn)題的相關(guān)資料,空字符串變?yōu)榭占?需要的朋友可以參考下2024-03-03
解析MyBatis源碼實(shí)現(xiàn)自定義持久層框架
這篇文章主要介紹了手撕MyBatis源碼實(shí)現(xiàn)自定義持久層框架,涉及到的設(shè)計(jì)模式有Builder構(gòu)建者模式、??模式、代理模式,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-05-05
Java中的接口以及常見(jiàn)的Cloneable接口用法
這篇文章主要介紹了Java中的接口以及常見(jiàn)的Cloneable接口用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02
java double 溢出報(bào)錯(cuò)的問(wèn)題解決
在進(jìn)行Java開(kāi)發(fā)時(shí),經(jīng)常會(huì)遇到數(shù)字溢出的問(wèn)題,這個(gè)問(wèn)題在很多程序中都非常常見(jiàn),尤其是在進(jìn)行數(shù)值計(jì)算的時(shí)候,本文就來(lái)介紹一下如何解決,感興趣的可以了解一下2025-09-09

