Selaa lähdekoodia

质检附件上传fegin配置文件 支持上传文件

cr 1 kuukausi sitten
vanhempi
commit
da4ea87345

+ 12 - 2
blade-ops-api/blade-resource-api/src/main/java/org/springblade/resource/feign/FeignConfig.java

@@ -2,13 +2,23 @@ package org.springblade.resource.feign;
 
 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;
 
 @Configuration
 public class FeignConfig {
+    private final ObjectFactory<HttpMessageConverters> messageConverters;
+
+    public FeignConfig(ObjectFactory<HttpMessageConverters> messageConverters) {
+        this.messageConverters = messageConverters;
+    }
+
     @Bean
-    public Encoder feignFormEncoder() {
-        return new SpringFormEncoder();
+    public Encoder feignEncoder() {
+        // 默认使用 SpringEncoder(支持 JSON),但如果遇到 MultipartFile 则用 SpringFormEncoder
+        return new SpringFormEncoder(new SpringEncoder(messageConverters));
     }
 }