使用 Multimap 而不是 Map 为 Rest Assured Call 发送参数

Mad*_*ati 5 java multimap rest-assured

我声明了一个变量

    static Multimap<String, Object> multiList = ArrayListMultimap.create();
Run Code Online (Sandbox Code Playgroud)

并添加值,如

    multiList.put(**key1**,value1)
    multiList.put(**key1**,value1)
    multiList.put(**key2**,value3)
Run Code Online (Sandbox Code Playgroud)

现在,我传递的请求就像

    Response response = RestAssured.given().header("Cookie", SessionDetailsCedar.CSESSIONID).and().header("X-CSRFToken", SessionDetailsCedar.CSRF).and().header("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8").and().header("Connection", "keep-alive").formParameters(<b>multiList</b>).when().post(<b>Some URL</b>);
Run Code Online (Sandbox Code Playgroud)

我的问题是当我想使用 Multimap 时,formParameters(Map)仅使用 Map 作为参数

par*_*dak 0

Multimap 无法转换为 Map,因为它违反了 Map 的定义。在这种情况下,我认为您应该使用 REST 确保的另一种方法 formParam 方法,如下例所示:

 RestAssured.
    given().
            contentType("application/x-www-form-urlencoded; charset=ISO-8859-1").
            formParam("key1", value1).
            formParam("key1", value2).
            formParam("key2", value3).
    when().
            post("Some URL");
Run Code Online (Sandbox Code Playgroud)