springcloud feign增加響應報文解碼類型

feign 默認只支持application/json 類型的響應報文,如果響應的並非這種類型,則無法解析,此時需要自定義實現

案例如下:

package com.eno.config.feign;

import java.util.ArrayList;
import java.util.List;

import org.springframework.http.MediaType;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
/**
 * 
 * @ClassName: FeignMessageConverter
 * @Description: 新增feign 消息解碼類型支持
 * @author eno
 * @date :2020年1月7日 下午1:33:21
 */
public class FeignMessageConverter extends MappingJackson2HttpMessageConverter {

	public FeignMessageConverter() {
		List<MediaType> mediaTypes = new ArrayList<>();
		mediaTypes.add(MediaType.TEXT_PLAIN);
		mediaTypes.add(MediaType.TEXT_HTML);
		setSupportedMediaTypes(mediaTypes);
	}
}

2.自定義實現decoder

@Bean
	public Decoder feignDecoder() {
		FeignMessageConverter converter = new FeignMessageConverter();
		ObjectFactory<HttpMessageConverters> objectFactory = () -> new HttpMessageConverters(converter);
		return new SpringDecoder(objectFactory);
		
	}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章