|
|
@@ -0,0 +1,67 @@
|
|
|
+package com.zhixinghe1.ots.config;
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+import org.springframework.beans.factory.ObjectFactory;
|
|
|
+import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
|
|
|
+import org.springframework.cloud.openfeign.support.SpringDecoder;
|
|
|
+import org.springframework.context.annotation.Bean;
|
|
|
+import org.springframework.context.annotation.Configuration;
|
|
|
+import org.springframework.http.MediaType;
|
|
|
+import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
|
|
|
+
|
|
|
+import feign.Logger;
|
|
|
+import feign.RequestInterceptor;
|
|
|
+import feign.codec.Decoder;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @className FeignConfig
|
|
|
+ * @description Feign配置
|
|
|
+ * @author ChenYL
|
|
|
+ * @date 2023/07/23 20:55
|
|
|
+ * @version V1.0
|
|
|
+ **/
|
|
|
+@Configuration
|
|
|
+public class FeignConfig {
|
|
|
+
|
|
|
+ @Bean("myInterceptor")
|
|
|
+ public RequestInterceptor requestInterceptor() {
|
|
|
+ return template -> {
|
|
|
+ template.query("appid", "").query("secret", "");
|
|
|
+ };
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 调整Feign日志输出等级
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Bean
|
|
|
+ public Logger.Level feignLoggerLevel() {
|
|
|
+ return Logger.Level.FULL;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 增加转换支持
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Bean
|
|
|
+ public Decoder feignDecoder() {
|
|
|
+ Jackson2HttpConverter jackson2HttpConverter = new Jackson2HttpConverter();
|
|
|
+ ObjectFactory<HttpMessageConverters> objectFactory = () -> new HttpMessageConverters(jackson2HttpConverter);
|
|
|
+ return new SpringDecoder(objectFactory);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * content-type = text/plain 增加JSON转换支持
|
|
|
+ */
|
|
|
+ public class Jackson2HttpConverter extends MappingJackson2HttpMessageConverter {
|
|
|
+ public Jackson2HttpConverter() {
|
|
|
+ List<MediaType> mediaTypes = new ArrayList<>();
|
|
|
+ mediaTypes.add(MediaType.TEXT_PLAIN);
|
|
|
+ setSupportedMediaTypes(mediaTypes);
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|