Browse Source

批量设置参数

mxd 4 years ago
parent
commit
21a393ed40
1 changed files with 22 additions and 0 deletions
  1. 22 0
      src/main/java/org/ssssssss/magicapi/modules/HttpModule.java

+ 22 - 0
src/main/java/org/ssssssss/magicapi/modules/HttpModule.java

@@ -10,6 +10,7 @@ import org.ssssssss.script.annotation.Comment;
 
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 /**
@@ -60,6 +61,12 @@ public class HttpModule implements MagicModule {
 		return this;
 	}
 
+	@Comment("批量设置URL参数")
+	public HttpModule param(@Comment("参数值") Map<String, Object> values) {
+		values.forEach((key, value) -> param(key, Objects.toString(value, "")));
+		return this;
+	}
+
 	@Comment("设置form参数")
 	public HttpModule data(@Comment("参数名") String key, @Comment("参数值") Object... values) {
 		if (values != null) {
@@ -70,12 +77,27 @@ public class HttpModule implements MagicModule {
 		return this;
 	}
 
+	@Comment("批量设置form参数")
+	public HttpModule data(@Comment("参数值") Map<String, Object> values) {
+		values.forEach((key, value) -> data(key, Objects.toString(value, "")));
+		return this;
+	}
+
 	@Comment("设置header")
 	public HttpModule header(@Comment("header名") String key, @Comment("header值") String value) {
 		httpHeaders.add(key, value);
 		return this;
 	}
 
+	@Comment("批量设置header")
+	public HttpModule header(@Comment("header值") Map<String, Object> values) {
+		values.entrySet()
+				.stream()
+				.filter(it -> it.getValue() != null)
+				.forEach(entry -> header(entry.getKey(), entry.getValue().toString()));
+		return this;
+	}
+
 	@Comment("设置请求方法,默认GET")
 	public HttpModule method(@Comment("请求方法") HttpMethod method) {
 		this.method = method;