最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

RestTemplate返回值中文亂碼問(wèn)題

 更新時(shí)間:2024年04月19日 15:46:27   作者:偷代碼的貓  
這篇文章主要介紹了RestTemplate返回值中文亂碼問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

一、問(wèn)題描述

使用RestTemplate發(fā)送請(qǐng)求,返回值中文亂碼

RestTemplate restTemplate = new RestTemplate();
ResponseEntity<String> response = restTemplate.getForEntity(url, String.class);

二、代碼追蹤

DEBUG過(guò)程中即時(shí)查詢(xún)返回值是在哪里調(diào)度的,數(shù)值的改變是在哪里觸發(fā)的

1、追蹤getForEntity方法,發(fā)現(xiàn)execute方法

2、追蹤execute方法,發(fā)現(xiàn)doExecute方法

3、追蹤doExecute方法,發(fā)現(xiàn)extractData方法

4、發(fā)現(xiàn)有多個(gè)接口實(shí)現(xiàn),debug跳轉(zhuǎn)定位是哪個(gè)方法,好了,終于發(fā)現(xiàn)messageBody解析了

  • 通過(guò)上述代碼我們可以簡(jiǎn)單判斷,RestTemplate的消息響應(yīng)應(yīng)該是由messageConverters控制的
  • 所以我們應(yīng)該是需要對(duì)他進(jìn)行賦值修改

5、分析messageConverters,看Message轉(zhuǎn)化為各種對(duì)象,諸如Byte、String之類(lèi)的,我們看的是String

三、解決辦法

1、懶人解決

RestTemplate restTemplate = new RestTemplate();
//可以在上圖分析上看到StringHttpMessageConverter index=1,所以.
restTemplate.getMessageConverters().set(1, new StringHttpMessageConverter(StandardCharsets.UTF_8));
ResponseEntity<String> response = restTemplate.getForEntity(url, String.class);

2、遍歷查詢(xún)

RestTemplate restTemplate = new RestTemplate();
List<HttpMessageConverter<?>> converterList =restTemplate.getMessageConverters();
int converterIndex = -1;
for (int i=0;i<converterList.size();i++){
    if(converterList.get(i).getClass() == StringHttpMessageConverter.class){
        converterIndex = i;
        break;
    }
}
if(converterIndex !=-1){
    restTemplate.getMessageConverters().set(converterIndex, new StringHttpMessageConverter(StandardCharsets.UTF_8));
}
 
ResponseEntity<String> response = restTemplate.getForEntity(url, String.class);

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 基于Java實(shí)現(xiàn)數(shù)九天精準(zhǔn)計(jì)算的完整方案

    基于Java實(shí)現(xiàn)數(shù)九天精準(zhǔn)計(jì)算的完整方案

    在中國(guó)傳統(tǒng)歷法體系中,二十四節(jié)氣不僅是農(nóng)耕文明的智慧結(jié)晶,也是傳統(tǒng)文化數(shù)字化傳承的重要載體,其精準(zhǔn)計(jì)算是數(shù)九天推演的基礎(chǔ),本文將從工程實(shí)現(xiàn)角度,深度解析基于 Java 語(yǔ)言結(jié)合 tyme 歷法庫(kù)實(shí)現(xiàn)冬至日期計(jì)算、數(shù)九天周期推演的完整方案,需要的朋友可以參考下
    2026-02-02
  • 詳解Java如何實(shí)現(xiàn)一個(gè)BlockingQueue

    詳解Java如何實(shí)現(xiàn)一個(gè)BlockingQueue

    這篇文章主要為大家詳細(xì)介紹了Java如何實(shí)現(xiàn)一個(gè)BlockingQueue阻塞隊(duì)列,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-06-06
  • SpringBoot使用spring retry重試機(jī)制的操作詳解

    SpringBoot使用spring retry重試機(jī)制的操作詳解

    實(shí)際工作中由于網(wǎng)絡(luò)波動(dòng)等原因?qū)е麓a執(zhí)行失敗需要重新執(zhí)行,保證最終能夠完成業(yè)務(wù)功能,通常來(lái)說(shuō),會(huì)用try/catch,while循環(huán)或者定時(shí)任務(wù)重處理,但是這樣的做法缺乏統(tǒng)一性,要多寫(xiě)很多代碼,spring-retry組件可以通過(guò)注解優(yōu)雅的實(shí)現(xiàn)重處理功能
    2024-12-12
  • springboot整合shiro多驗(yàn)證登錄功能的實(shí)現(xiàn)(賬號(hào)密碼登錄和使用手機(jī)驗(yàn)證碼登錄)

    springboot整合shiro多驗(yàn)證登錄功能的實(shí)現(xiàn)(賬號(hào)密碼登錄和使用手機(jī)驗(yàn)證碼登錄)

    這篇文章給大家介紹springboot整合shiro多驗(yàn)證登錄功能的實(shí)現(xiàn)方法,包括賬號(hào)密碼登錄和使用手機(jī)驗(yàn)證碼登錄功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2021-07-07
  • Java使用poi-tl設(shè)置word圖片環(huán)繞方式為浮于在文字上方

    Java使用poi-tl設(shè)置word圖片環(huán)繞方式為浮于在文字上方

    POI-TL 是一個(gè)基于 Apache POI 的 Java 庫(kù),專(zhuān)注于在 Microsoft Word 文檔(.docx 格式)中進(jìn)行模板填充和動(dòng)態(tài)內(nèi)容生成,下面我們看看如何使用poi-tl設(shè)置word圖片環(huán)繞方式為浮于在文字上方吧
    2025-03-03
  • SpringDataJPA詳解增刪改查操作方法

    SpringDataJPA詳解增刪改查操作方法

    這篇文章主要介紹了SpringDataJpa增刪改查操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Java如何自定義線(xiàn)程池中隊(duì)列

    Java如何自定義線(xiàn)程池中隊(duì)列

    這篇文章主要介紹了Java如何自定義線(xiàn)程池中隊(duì)列,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-07-07
  • Java中ArrayList與順序表的定義與實(shí)現(xiàn)方法

    Java中ArrayList與順序表的定義與實(shí)現(xiàn)方法

    ArrayList是一個(gè)實(shí)現(xiàn)List接口的類(lèi),底層是動(dòng)態(tài)類(lèi)型順序表,本質(zhì)也就是數(shù)組,動(dòng)態(tài)主要體現(xiàn)在它的擴(kuò)容機(jī)制,下面這篇文章主要給大家介紹了關(guān)于Java中ArrayList與順序表的定義與實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • Java使用MessageFormat應(yīng)注意的問(wèn)題

    Java使用MessageFormat應(yīng)注意的問(wèn)題

    這篇文章主要介紹了Java使用MessageFormat應(yīng)注意的問(wèn)題,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-06-06
  • 完美解決Server?returned?HTTP?response?code:403?for?URL報(bào)錯(cuò)問(wèn)題

    完美解決Server?returned?HTTP?response?code:403?for?URL報(bào)錯(cuò)問(wèn)題

    在調(diào)用某個(gè)接口的時(shí)候,突然就遇到了Server?returned?HTTP?response?code:?403?for?URL報(bào)錯(cuò)這個(gè)報(bào)錯(cuò),導(dǎo)致獲取不到接口的數(shù)據(jù),下面小編給大家分享解決Server?returned?HTTP?response?code:403?for?URL報(bào)錯(cuò)問(wèn)題,感興趣的朋友一起看看吧
    2023-03-03

最新評(píng)論

霸州市| 和田市| 太仆寺旗| 壤塘县| 儋州市| 井冈山市| 胶南市| 定陶县| 澎湖县| 竹北市| 吐鲁番市| 巴里| 舒兰市| 湖南省| 灵武市| 攀枝花市| 迁安市| 通山县| 综艺| 江陵县| 富裕县| 攀枝花市| 马边| 手机| 崇礼县| 莱阳市| 大兴区| 思茅市| 南丹县| 林芝县| 山东省| 景德镇市| 读书| 枣庄市| 昌乐县| 淄博市| 双鸭山市| 江门市| 新兴县| 万宁市| 长丰县|