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()); + } +}