| package com.doumee.config; | 
| import feign.codec.Decoder; | 
| import org.springframework.beans.BeansException; | 
| import org.springframework.beans.factory.ObjectFactory; | 
| import org.springframework.boot.autoconfigure.http.HttpMessageConverters; | 
| import org.springframework.cloud.openfeign.support.ResponseEntityDecoder; | 
| import org.springframework.cloud.openfeign.support.SpringDecoder; | 
| import org.springframework.context.annotation.Bean; | 
| import org.springframework.context.annotation.Configuration; | 
| import org.springframework.http.MediaType; | 
| import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; | 
|   | 
| import java.util.ArrayList; | 
| import java.util.List; | 
|   | 
| /** | 
|  * Author: lizhi | 
|  * Date: 2022-02-17 | 
|  * Describe: 解决 HttpMessageConverters Bean未注册问题 | 
|  */ | 
| @Configuration | 
| public class DecoderConfig { | 
|   | 
|     @Bean | 
|     public Decoder feignDecoder() { | 
|         return new ResponseEntityDecoder(new SpringDecoder(feignHttpMessageConverter())); | 
|     } | 
|   | 
|     public ObjectFactory<HttpMessageConverters> feignHttpMessageConverter() { | 
|         final HttpMessageConverters httpMessageConverters = new HttpMessageConverters(new GateWayMappingJackson2HttpMessageConverter()); | 
|         return new ObjectFactory<HttpMessageConverters>() { | 
|             @Override | 
|             public HttpMessageConverters getObject() throws BeansException { | 
|                 return httpMessageConverters; | 
|             } | 
|         }; | 
|     } | 
|   | 
|     public class GateWayMappingJackson2HttpMessageConverter extends MappingJackson2HttpMessageConverter { | 
|         GateWayMappingJackson2HttpMessageConverter(){ | 
|             List<MediaType> mediaTypes = new ArrayList<>(); | 
|             mediaTypes.add(MediaType.valueOf(MediaType.TEXT_HTML_VALUE + ";charset=UTF-8")); | 
|             setSupportedMediaTypes(mediaTypes); | 
|         } | 
|     } | 
| } |