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 messageConverters) { // 基础编码器(支持JSON,基于Spring MVC的转换器) SpringEncoder jsonEncoder = new SpringEncoder(messageConverters); // 表单编码器(支持multipart/form-data) SpringFormEncoder formEncoder = new SpringFormEncoder(jsonEncoder); return formEncoder; } }