From 8ca768a99744760b105d9d14471e31f2c1d7e63e Mon Sep 17 00:00:00 2001 From: Looly Date: Mon, 8 Apr 2024 17:31:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DHttpUtil.urlWithFormUrlEncode?= =?UTF-8?q?d=E6=96=B9=E6=B3=95=E9=87=8D=E5=A4=8D=E7=BC=96=E7=A0=81?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/dromara/hutool/core/text/StrUtil.java | 2 +- .../org/dromara/hutool/http/HttpUtil.java | 2 +- .../dromara/hutool/http/Issue3536Test.java | 23 +++++++++++++++++++ 3 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 hutool-http/src/test/java/org/dromara/hutool/http/Issue3536Test.java diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/text/StrUtil.java b/hutool-core/src/main/java/org/dromara/hutool/core/text/StrUtil.java index 2d9cf80b5..852f8e874 100644 --- a/hutool-core/src/main/java/org/dromara/hutool/core/text/StrUtil.java +++ b/hutool-core/src/main/java/org/dromara/hutool/core/text/StrUtil.java @@ -269,7 +269,7 @@ public class StrUtil extends CharSequenceUtil implements StrPool { * * @param obj 对象 * @return {@link String } - * @author ahwei163@qq.com + * @author Junwei Xu */ public static String toStringOrEmpty(final Object obj) { // obj为空时, 返回 null 或 "null" 都不适用部分场景, 此处返回 "" 空字符串 diff --git a/hutool-http/src/main/java/org/dromara/hutool/http/HttpUtil.java b/hutool-http/src/main/java/org/dromara/hutool/http/HttpUtil.java index 251f7c6c5..9dcbf500d 100644 --- a/hutool-http/src/main/java/org/dromara/hutool/http/HttpUtil.java +++ b/hutool-http/src/main/java/org/dromara/hutool/http/HttpUtil.java @@ -206,7 +206,7 @@ public class HttpUtil { * @return 合成后的URL */ public static String urlWithForm(final String url, final Map form, final Charset charset, final boolean isEncodeParams) { - return urlWithForm(url, UrlQueryUtil.toQuery(form, charset), charset, isEncodeParams); + return urlWithForm(url, UrlQueryUtil.toQuery(form, null), charset, isEncodeParams); } /** diff --git a/hutool-http/src/test/java/org/dromara/hutool/http/Issue3536Test.java b/hutool-http/src/test/java/org/dromara/hutool/http/Issue3536Test.java new file mode 100644 index 000000000..a12262ae4 --- /dev/null +++ b/hutool-http/src/test/java/org/dromara/hutool/http/Issue3536Test.java @@ -0,0 +1,23 @@ +package org.dromara.hutool.http; + +import org.dromara.hutool.core.util.CharsetUtil; +import org.junit.Assert; +import org.junit.Test; + +import java.util.HashMap; +import java.util.Map; + +public class Issue3536Test { + + @Test + public void urlWithFormUrlEncodedTest() { + final String url = "https://hutool.cn/test"; + final Map paramMap = new HashMap<>(); + paramMap.put("redirect_uri", "https://api.hutool.cn/v1/test"); + paramMap.put("scope", "a,b,c你"); + + final String s = HttpUtil.urlWithFormUrlEncoded(url, paramMap, CharsetUtil.UTF_8); + Assert.assertEquals("https://hutool.cn/test?scope=a,b,c%E4%BD%A0&redirect_uri=https://api.hutool.cn/v1/test", s); + } + +}