欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

feign調(diào)用第三方接口,編碼定義GBK,響應(yīng)中文亂碼處理方式

 更新時(shí)間:2024年01月10日 17:03:59   作者:耨耨菲  
這篇文章主要介紹了feign調(diào)用第三方接口,編碼定義GBK,響應(yīng)中文亂碼處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

feign調(diào)用第三方接口,編碼定義GBK,響應(yīng)中文亂碼

錯(cuò)誤代碼

如下:

@FeignClient(value="{}",configuration=FeignClientLogConfiguration.class, contextId="id")
public interface FeignClient{
    @PostMapping(value="/test", headers={"Content-Type=application/json;charset=gbk"})
    String test(String req);
}

方法調(diào)用

如下:

@Autowired
FeignClient feignClient;
public void getTest(請(qǐng)求實(shí)體類 req){
    String jsonReq = JSON.toJSONString(req);
    String resp = feignClient.test(jsonReq);
    log.info("響應(yīng)報(bào)文:{}", resp);// 日志打印出來中文亂碼
}

在網(wǎng)上尋找各種調(diào)用方法測(cè)試

如:自定義Hystrix熔斷策略,自定義編碼攔截等,效果都不理想;

最后通過更改返回的響應(yīng)對(duì)象,實(shí)現(xiàn)了中文亂碼轉(zhuǎn)換正常

代碼

如下:

import feign.Response;
 
@FeignClient(value="{}",configuration=FeignClientLogConfiguration.class, contextId="id")
public interface FeignClient{
    @PostMapping(value="/test", headers={"Content-Type=application/json;charset=gbk"})
    Response test(String req);
}

方法調(diào)用

如下:

@Autowired
FeignClient feignClient;
public void getTest(請(qǐng)求實(shí)體類 req){
    String jsonReq = JSON.toJSONString(req);
    Response resp = feignClient.test(jsonReq);
    String resp = this.printToRespInfo(resp);
    log.info("響應(yīng)報(bào)文:{}", resp);// 日志打印出來中文亂碼
}
 
/**
* 格式化提取響應(yīng)數(shù)據(jù)
*/
private String printToRespInfo(Response response){
    InputStream inputStream = null;
    try{
        Response.Body body = response.body();
        inputStream = body.asInputStream();
        return IOUtils.toString(inputStream, "GBK");
    } catch (IOException e){
        log.error("response to json is error");
    } finally {
        IOUtils.closeQuietly(inputStream);
    }
    return null;
}

總結(jié)

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

相關(guān)文章

  • Java實(shí)現(xiàn)簡單的RPC框架的示例代碼

    Java實(shí)現(xiàn)簡單的RPC框架的示例代碼

    本篇文章主要介紹了Java實(shí)現(xiàn)簡單的RPC框架的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-11-11
  • Spring Boot 整合 Apache Dubbo的示例代碼

    Spring Boot 整合 Apache Dubbo的示例代碼

    Apache Dubbo是一款高性能、輕量級(jí)的開源 Java RPC 框架,這篇文章主要介紹了Spring Boot 整合 Apache Dubbo的方法,本文通過示例說明給大家講解的非常詳細(xì),需要的朋友可以參考下
    2021-07-07
  • Java通過接口實(shí)現(xiàn)匿名類的實(shí)例代碼

    Java通過接口實(shí)現(xiàn)匿名類的實(shí)例代碼

    這篇文章介紹了Java通過接口實(shí)現(xiàn)匿名類的實(shí)例代碼,有需要的朋友可以參考一下
    2013-10-10
  • Json字符串內(nèi)容比較超實(shí)用教程

    Json字符串內(nèi)容比較超實(shí)用教程

    這篇文章主要介紹了Json字符串內(nèi)容比較-超實(shí)用版,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • 基于spring-mvc.xml和application-context.xml的配置與深入理解

    基于spring-mvc.xml和application-context.xml的配置與深入理解

    這篇文章主要介紹了spring-mvc.xml和application-context.xml的配置與深入解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • SpringBoot注入配置文件的3種方法詳解

    SpringBoot注入配置文件的3種方法詳解

    這篇文章主要介紹了SpringBoot注入配置文件的3種方法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • 淺談Java序列化和反序列化為何要實(shí)現(xiàn)Serializable接口

    淺談Java序列化和反序列化為何要實(shí)現(xiàn)Serializable接口

    這篇文章主要介紹了淺談Java序列化和反序列化為何要實(shí)現(xiàn)Serializable接口,序列化最重要的作用是在傳遞和保存對(duì)象時(shí).保證對(duì)象的完整性和可傳遞性,對(duì)象轉(zhuǎn)換為有序字節(jié)流,以便在網(wǎng)絡(luò)上傳輸或者保存在本地文件中,需要的朋友可以參考下
    2023-12-12
  • 一文帶你認(rèn)識(shí)Java中的Object類和深淺拷貝

    一文帶你認(rèn)識(shí)Java中的Object類和深淺拷貝

    任何變成語言中,其實(shí)都有淺拷貝和深拷貝的概念,Java 中也不例外,下面這篇文章主要給大家介紹了關(guān)于Java中Object類和深淺拷貝的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • java解析XML詳解

    java解析XML詳解

    這篇文章主要介紹了XML解析四種方式代碼示例詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-07-07
  • Java Socket使用加密協(xié)議進(jìn)行傳輸對(duì)象的方法

    Java Socket使用加密協(xié)議進(jìn)行傳輸對(duì)象的方法

    這篇文章主要介紹了Java Socket使用加密協(xié)議進(jìn)行傳輸對(duì)象的方法,結(jié)合實(shí)例形式分析了java socket加密協(xié)議相關(guān)接口與類的調(diào)用方法,以及服務(wù)器、客戶端實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-06-06

最新評(píng)論