From 8fa1481c73abe4da8cd8b1b5915878c66ac358df Mon Sep 17 00:00:00 2001 From: Looly Date: Tue, 11 Mar 2025 09:26:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E8=BF=9B`UrlQuery`=E5=AF=B9=E6=97=A0?= =?UTF-8?q?=E5=8F=82URL=E5=A2=9E=E5=8A=A0=E5=88=A4=E6=96=AD=E8=AF=86?= =?UTF-8?q?=E5=88=AB=EF=BC=88issue#IBRVE4@Gitee=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dromara/hutool/core/net/url/UrlQuery.java | 3 +++ .../hutool/core/net/IssueIBRVE4Test.java | 26 +++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 hutool-core/src/test/java/org/dromara/hutool/core/net/IssueIBRVE4Test.java diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/net/url/UrlQuery.java b/hutool-core/src/main/java/org/dromara/hutool/core/net/url/UrlQuery.java index eecb32e41..4362a3e95 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/net/url/UrlQuery.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/net/url/UrlQuery.java @@ -227,6 +227,9 @@ public class UrlQuery { if (StrUtil.isBlank(queryStr)) { return this; } + } else if (StrUtil.startWith(queryStr, "http://") || StrUtil.startWith(queryStr, "https://")) { + // issue#IBRVE4 用户传入只有URL,没有param部分,返回空 + return this; } } diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/net/IssueIBRVE4Test.java b/hutool-core/src/test/java/org/dromara/hutool/core/net/IssueIBRVE4Test.java new file mode 100644 index 000000000..cb8282b27 --- /dev/null +++ b/hutool-core/src/test/java/org/dromara/hutool/core/net/IssueIBRVE4Test.java @@ -0,0 +1,26 @@ +package org.dromara.hutool.core.net; + +import org.dromara.hutool.core.net.url.UrlQueryUtil; +import org.dromara.hutool.core.util.CharsetUtil; +import org.junit.jupiter.api.Test; + +import java.util.Map; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class IssueIBRVE4Test { + @Test + public void decodeParamMapNoParamTest() { + // 参数值不存在分界标记等号时 + // 无参数值时 + final Map paramMap = UrlQueryUtil.decodeQuery("https://hutool.cn/api.action", CharsetUtil.UTF_8); + assertEquals(0,paramMap.size()); +} +@Test + public void decodeParamMapListNoParamTest() { + // 参数值不存在分界标记等号时 + // 无参数值时 + final Map paramMap1 = UrlQueryUtil.decodeQuery("https://hutool.cn/api.action", CharsetUtil.UTF_8); + assertEquals(0,paramMap1.size()); + } +}