ソースを参照

:white_check_mark: msg convert

Anakin 1 年間 前
コミット
6092f191f4

+ 11 - 1
src/main/java/com/winhc/repal/cloud/WinCoinService.java

@@ -5,16 +5,26 @@ import com.winhc.common.model.base.VOPage;
 import com.winhc.repal.cloud.dto.WinCoinOrderFormDTO;
 import com.winhc.repal.cloud.vo.ResponseVO;
 import com.winhc.repal.cloud.vo.WinCoinOrderFormVO;
+import com.winhc.repal.config.BeanConfig;
 import com.winhc.repal.model.dto.RepalOrderPageDTO;
+import feign.codec.Decoder;
+import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
 import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.cloud.openfeign.support.SpringDecoder;
+import org.springframework.context.annotation.Bean;
+import org.springframework.http.MediaType;
+import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.Collections;
+import java.util.List;
+
 /**
  * @author Aaron
  * @date 2022/5/10 14:16
  * @description
  */
-@FeignClient("win-coin")
+@FeignClient(value = "win-coin", configuration = BeanConfig.FeignConvertConfig.class)
 //@FeignClient(value = "win-coin",url = "106.14.81.247:5907")
 public interface WinCoinService {
 

+ 22 - 1
src/main/java/com/winhc/repal/config/BeanConfig.java

@@ -4,16 +4,22 @@ import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
 import com.baomidou.mybatisplus.extension.plugins.pagination.optimize.JsqlParserCountOptimize;
 import com.ctrip.framework.apollo.spring.annotation.EnableApolloConfig;
+import com.winhc.repal.cloud.WinCoinService;
 import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
+import feign.codec.Decoder;
 import io.swagger.annotations.ApiOperation;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
+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.data.redis.connection.RedisConnectionFactory;
 import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.data.redis.serializer.StringRedisSerializer;
+import org.springframework.http.MediaType;
+import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
 import springfox.documentation.builders.ApiInfoBuilder;
 import springfox.documentation.builders.PathSelectors;
 import springfox.documentation.builders.RequestHandlerSelectors;
@@ -27,6 +33,7 @@ import springfox.documentation.spi.DocumentationType;
 import springfox.documentation.spring.web.plugins.Docket;
 
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 
 /**
@@ -78,7 +85,7 @@ public class BeanConfig {
         xxlJobSpringExecutor.setLogPath(logPath);
         if (StrUtil.isBlank(runtimeEnv)) {
             xxlJobSpringExecutor.setPort(serverPort + 10000);
-        } else if ("K8S".equals(runtimeEnv)){
+        } else if ("K8S".equals(runtimeEnv)) {
             // 自定义注册地址
             xxlJobSpringExecutor.setAddress(address);
             xxlJobSpringExecutor.setIp(nodeIp);
@@ -142,4 +149,18 @@ public class BeanConfig {
                 .version("1.0")
                 .build();
     }
+
+    public static class FeignConvertConfig {
+        @Bean
+        public Decoder textPlainDecoder() {
+            return new SpringDecoder(() -> new HttpMessageConverters(new CustomMappingJackson2HttpMessageConverter()));
+        }
+    }
+
+    public static class CustomMappingJackson2HttpMessageConverter extends MappingJackson2HttpMessageConverter {
+        @Override
+        public void setSupportedMediaTypes(List<MediaType> supportedMediaTypes) {
+            super.setSupportedMediaTypes(Collections.singletonList(MediaType.TEXT_PLAIN));
+        }
+    }
 }