From 7f9e6105f8cba1b64e5b6998b4ceead1ce59a823 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=B7=E5=86=B7?= <2270033969@qq.com> Date: Wed, 16 Apr 2025 16:56:18 +0800 Subject: [PATCH] =?UTF-8?q?feat(core):=20=E6=B7=BB=E5=8A=A0PriorityHeaderC?= =?UTF-8?q?onfiguration=E8=A7=A3=E5=86=B3=E8=AF=B7=E6=B1=82=E5=A4=B4?= =?UTF-8?q?=E5=86=B2=E7=AA=81=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/PriorityHeaderConfiguration.java | 28 +++++++++++++++++++ ...ot.autoconfigure.AutoConfiguration.imports | 1 + 2 files changed, 29 insertions(+) create mode 100644 pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/config/PriorityHeaderConfiguration.java diff --git a/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/config/PriorityHeaderConfiguration.java b/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/config/PriorityHeaderConfiguration.java new file mode 100644 index 000000000..a62b2852d --- /dev/null +++ b/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/config/PriorityHeaderConfiguration.java @@ -0,0 +1,28 @@ +package com.pig4cloud.pigx.common.core.config; + +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.InitBinder; +import org.springframework.web.servlet.mvc.method.annotation.ExtendedServletRequestDataBinder; + +/** + * priority 标头配置 + * + * @author lengleng + * @date 2025/04/16 + */ +@ControllerAdvice +public class PriorityHeaderConfiguration { + + /** + * 初始化绑定器 + * + * 处理 spring 6.2 严格遵循RFC 导致 的请求头和请求参数冲突问题 + * + * + * @param binder 绑定规则 + */ + @InitBinder + public void initBinder(ExtendedServletRequestDataBinder binder) { + binder.addHeaderPredicate(header -> false); + } +} diff --git a/pigx-common/pigx-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/pigx-common/pigx-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index 6073c21f4..bd6e16bb3 100644 --- a/pigx-common/pigx-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/pigx-common/pigx-common-core/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -3,5 +3,6 @@ com.pig4cloud.pigx.common.core.config.JacksonConfiguration com.pig4cloud.pigx.common.core.config.MessageSourceConfiguration com.pig4cloud.pigx.common.core.config.RestTemplateConfiguration com.pig4cloud.pigx.common.core.config.ImmutableConfiguration +com.pig4cloud.pigx.common.core.config.PriorityHeaderConfiguration com.pig4cloud.pigx.common.core.util.SpringContextHolder