吉安感知网项目-后端
xiebin
2026-01-06 d207a86cdf1ab52ef8cb7cd83bad8fceab8038cf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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;
    }
}