|
@@ -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));
|
|
|
}
|
|
|
}
|