From 6bef82df447efb08d05ad3d0c45585ef9b0acdb7 Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期五, 01 十一月 2024 16:48:35 +0800
Subject: [PATCH] 支持 feign 处理 content-type [text/plain] 返回内容

---
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/config/MyJackson2HttpMessageConverter.java |   16 ++++++++++++++++
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/feign/RemoteDataService.java               |    2 +-
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/config/MyOpenFeignConfig.java              |   21 +++++++++++++++++++++
 3 files changed, 38 insertions(+), 1 deletions(-)

diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/config/MyJackson2HttpMessageConverter.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/config/MyJackson2HttpMessageConverter.java
new file mode 100644
index 0000000..d3240ed
--- /dev/null
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/config/MyJackson2HttpMessageConverter.java
@@ -0,0 +1,16 @@
+package cn.lihu.jh.module.ecg.config;
+
+import org.springframework.http.MediaType;
+import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class MyJackson2HttpMessageConverter extends MappingJackson2HttpMessageConverter {
+    public MyJackson2HttpMessageConverter() {
+        List<MediaType> mediaTypes = new ArrayList<>();
+        mediaTypes.add(MediaType.TEXT_PLAIN);
+        mediaTypes.add(MediaType.TEXT_HTML);
+        setSupportedMediaTypes(mediaTypes);
+    }
+}
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/config/MyOpenFeignConfig.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/config/MyOpenFeignConfig.java
new file mode 100644
index 0000000..8c85ccc
--- /dev/null
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/config/MyOpenFeignConfig.java
@@ -0,0 +1,21 @@
+package cn.lihu.jh.module.ecg.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import feign.codec.Decoder;
+import org.springframework.beans.factory.ObjectFactory;
+import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
+import org.springframework.cloud.openfeign.support.SpringDecoder;
+
+
+@Configuration
+public class MyOpenFeignConfig {
+
+    @Bean
+    public Decoder feignDecoder() {
+        MyJackson2HttpMessageConverter converter = new MyJackson2HttpMessageConverter();
+        ObjectFactory<HttpMessageConverters> objectFactory = () -> new HttpMessageConverters(converter);
+        return new SpringDecoder(objectFactory);
+    }
+}
diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/feign/RemoteDataService.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/feign/RemoteDataService.java
index f7bb907..2fa84dd 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/feign/RemoteDataService.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/feign/RemoteDataService.java
@@ -7,7 +7,7 @@
 
 @FeignClient(name = "remote-data-service", url = "${openfeign.server}")
 public interface RemoteDataService {
-    @PostMapping(value="/hai/HttpEntry/", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
+    @PostMapping(value="/hai/HttpEntry/", produces = MediaType.APPLICATION_JSON_VALUE/*, consumes = MediaType.APPLICATION_JSON_VALUE*/)
     public RestApiResult<AppointmentExternal> httpApi( @RequestParam("service") String service,
                                           @RequestParam("urid") String urid,
                                           @RequestParam("pwd") String pwd,

--
Gitblit v1.9.3