修复HttpUtil.normalizeParams规则问题(issue#IBQIYQ@Gitee)

This commit is contained in:
Looly
2025-03-07 09:46:44 +08:00
parent f11bd02037
commit 58c193cb48
2 changed files with 41 additions and 7 deletions

View File

@@ -0,0 +1,34 @@
package org.dromara.hutool.http;
import org.dromara.hutool.core.net.url.UrlQueryUtil;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import java.util.HashMap;
import java.util.Map;
public class IssueIBQIYQTest {
@Test
void normalizeQueryTest() {
final Map<String, Object> map = new HashMap<>();
map.put("id", "");
map.put("type", "4");
String url = UrlQueryUtil.toQuery(map);
Assertions.assertEquals("id=&type=4", url);
url = UrlQueryUtil.normalizeQuery(url, null);
Assertions.assertEquals("id=&type=4", url);
}
@Test
void normalizeQueryTest2() {
final Map<String, Object> map = new HashMap<>();
map.put("id", "");
map.put("type", "4");
map.put("", "3");
String url = UrlQueryUtil.toQuery(map);
// 根据HTTP协议和URL规范RFC 3986name为空是合法的例如?value 或 ?=value
Assertions.assertEquals("=3&id=&type=4", url);
url = UrlQueryUtil.normalizeQuery(url, null);
Assertions.assertEquals("=3&id=&type=4", url);
}
}