package org.sxkj.resource.model;
|
|
import feign.codec.Encoder;
|
import feign.form.spring.SpringFormEncoder;
|
import org.springframework.beans.factory.ObjectFactory;
|
import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
|
import org.springframework.cloud.openfeign.support.SpringEncoder;
|
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Primary;
|
|
/**
|
* fegin 远程调用编码配置
|
* @author zhongrj
|
*/
|
@Configuration
|
public class FeignSupportConfig {
|
|
/**
|
* 复合编码器:同时支持 JSON 和表单上传
|
*/
|
@Bean
|
@Primary
|
public Encoder feignEncoder(ObjectFactory<HttpMessageConverters> messageConverters) {
|
// 基础编码器(支持JSON,基于Spring MVC的转换器)
|
SpringEncoder jsonEncoder = new SpringEncoder(messageConverters);
|
|
// 表单编码器(支持multipart/form-data)
|
SpringFormEncoder formEncoder = new SpringFormEncoder(jsonEncoder);
|
|
return formEncoder;
|
}
|
}
|