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