From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master
---
jnpf-lims/jnpf-lims-biz/src/main/java/jnpf/config/FeignClientJacksonConfig.java | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 53 insertions(+), 0 deletions(-)
diff --git a/jnpf-lims/jnpf-lims-biz/src/main/java/jnpf/config/FeignClientJacksonConfig.java b/jnpf-lims/jnpf-lims-biz/src/main/java/jnpf/config/FeignClientJacksonConfig.java
new file mode 100644
index 0000000..fcb44e8
--- /dev/null
+++ b/jnpf-lims/jnpf-lims-biz/src/main/java/jnpf/config/FeignClientJacksonConfig.java
@@ -0,0 +1,53 @@
+package jnpf.config;
+
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.springframework.beans.factory.ObjectFactory;
+import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
+import org.springframework.cloud.openfeign.support.SpringDecoder;
+import org.springframework.cloud.openfeign.support.SpringEncoder;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
+
+import feign.codec.Decoder;
+import feign.codec.Encoder;
+
+/**
+ * Feign 瀹㈡埛绔笓鐢ㄧ殑 Jackson 閰嶇疆锛氫娇鐢ㄩ粯璁ら┘宄板懡鍚嶇瓥鐣ャ��
+ * <p>
+ * jnpf-extend 鍏ㄥ眬 {@link JacksonConfig} 鎶� ObjectMapper 閰嶆垚 SNAKE_CASE
+ * 锛堝墠绔害瀹氱殑铔囧舰濂戠害锛夛紝浣嗗叾浠� jnpf-* 寰湇鍔″澶� REST 鎺ュ彛浠嶇敤椹煎嘲銆�
+ * 鍏ㄥ眬铔囧舰 mapper 浼氳 Spring Cloud OpenFeign 榛樿 Decoder 澶嶇敤锛�
+ * 瀵艰嚧 Feign 璋� jnpf-permission 绛夋湇鍔℃椂 JSON 瀛楁鍚嶆槧灏勪笉涓� 鈫� entity 瀛楁鍏� null銆�
+ * <p>
+ * 杩欓噷缁� Feign 鍗曠嫭瑁呬竴涓┘褰� ObjectMapper 鐨� Decoder/Encoder锛�
+ * 涓嶅奖鍝� MVC 鑷韩瀵瑰墠绔殑铔囧舰鍝嶅簲銆�
+ */
+@Configuration
+public class FeignClientJacksonConfig {
+
+ private ObjectMapper feignObjectMapper() {
+ ObjectMapper mapper = new ObjectMapper();
+ mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+ return mapper;
+ }
+
+ @Bean
+ public Decoder feignDecoder() {
+ MappingJackson2HttpMessageConverter converter =
+ new MappingJackson2HttpMessageConverter(feignObjectMapper());
+ ObjectFactory<HttpMessageConverters> factory =
+ () -> new HttpMessageConverters(converter);
+ return new SpringDecoder(factory);
+ }
+
+ @Bean
+ public Encoder feignEncoder() {
+ MappingJackson2HttpMessageConverter converter =
+ new MappingJackson2HttpMessageConverter(feignObjectMapper());
+ ObjectFactory<HttpMessageConverters> factory =
+ () -> new HttpMessageConverters(converter);
+ return new SpringEncoder(factory);
+ }
+}
--
Gitblit v1.8.0