This commit is contained in:
2
pom.xml
2
pom.xml
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
<groupId>com.imyeyu.network</groupId>
|
<groupId>com.imyeyu.network</groupId>
|
||||||
<artifactId>timi-network</artifactId>
|
<artifactId>timi-network</artifactId>
|
||||||
<version>0.0.2</version>
|
<version>0.0.3</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
|
|||||||
@ -35,6 +35,36 @@ public class ArgMap<K, V> extends HashMap<K, V> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public String toURL(String url) {
|
public String toURL(String url) {
|
||||||
return url + "?" + toURL();
|
StringBuilder sb = new StringBuilder(url);
|
||||||
|
if (url.contains("?")) {
|
||||||
|
if (!url.endsWith("?") && !url.endsWith("&")) {
|
||||||
|
sb.append('&');
|
||||||
|
}
|
||||||
|
sb.append(toURL());
|
||||||
|
return sb.toString();
|
||||||
|
} else {
|
||||||
|
return url + "?" + toURL();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <K, V> ArgMap<K, V> of(K key, V value) {
|
||||||
|
ArgMap<K, V> map = new ArgMap<>();
|
||||||
|
map.put(key, value);
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <K, V> ArgMap<K, V> of(K key1, V value1, K key2, V value2) {
|
||||||
|
ArgMap<K, V> map = new ArgMap<>();
|
||||||
|
map.put(key1, value1);
|
||||||
|
map.put(key2, value2);
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <K, V> ArgMap<K, V> of(K key1, V value1, K key2, V value2, K key3, V value3) {
|
||||||
|
ArgMap<K, V> map = new ArgMap<>();
|
||||||
|
map.put(key1, value1);
|
||||||
|
map.put(key2, value2);
|
||||||
|
map.put(key3, value3);
|
||||||
|
return map;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
27
src/test/java/com/imyeyu/network/test/ArgMapTest.java
Normal file
27
src/test/java/com/imyeyu/network/test/ArgMapTest.java
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
package com.imyeyu.network.test;
|
||||||
|
|
||||||
|
import com.imyeyu.network.ArgMap;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @author 夜雨
|
||||||
|
* @since 2026-02-10 12:45
|
||||||
|
*/
|
||||||
|
public class ArgMapTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void toURLTest() {
|
||||||
|
assert ArgMap.of("key", "value").toURL("/detail").equals("/detail?key=value");
|
||||||
|
assert ArgMap.of("key", "value").toURL("/detail?").equals("/detail?key=value");
|
||||||
|
assert ArgMap.of("key", "value").toURL("/detail?id=123").equals("/detail?id=123&key=value");
|
||||||
|
assert ArgMap.of("key", "value").toURL("/detail?id=123&").equals("/detail?id=123&key=value");
|
||||||
|
assert ArgMap.of("key", "value").toURL("http://localhost/detail").equals("http://localhost/detail?key=value");
|
||||||
|
assert ArgMap.of("key", "value").toURL("http://localhost/detail?").equals("http://localhost/detail?key=value");
|
||||||
|
|
||||||
|
String uri = ArgMap.of("key", "value").toURL("/detail?id=123");
|
||||||
|
String url = ArgMap.of("newKey", "newValue").toURL("http://localhost/test" + uri);
|
||||||
|
assert url.equals("http://localhost/test/detail?id=123&key=value&newKey=newValue");
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user