java - 使用 RestAssured 将一项列表作为 formParam 发送

标签 java rest-assured

我正在尝试通过 POST 向 RestAssured 端点提交一些 JSON。 API 需要一个 key 列表。我需要发送的值是一个包含单个项目的列表。

理想的请求如下:

Request method: POST
Request path:   http://localhost:8080/registrionURL
Request params: <none>
Query params:   <none>
Form params:    paramKey=[param space]
Path params:    <none>
Multiparts:     <none>

如果我将参数添加为列表或 map ,它仍然只是将参数作为字符串发送:

    String paramKey = "paramKey";
    String paramWithSpace = "param space";
    Response response = RestAssured.given()
            .formParam(paramKey, new String[]{paramWithSpace})
            .and().contentType("application/json")
            .log().method().log().path().log().parameters()
            .when().post(MessageFormat.format(registrationUrl, testName));

输出:

Request method: POST
Request path:   http://localhost:8080/registrionURL
Request params: <none>
Query params:   <none>
Form params:    paramKey=param space
Path params:    <none>
Multiparts:     <none>

看来正常的方法是多次调用 .formParam() 来创建列表:

    String paramKey = "paramKey";
    String paramWithSpace = "param space";
    Response response = RestAssured.given()
            .formParam(paramKey, paramWithSpace)
            .formParam(paramKey, paramWithSpace)
            .and().contentType("application/json")
            .log().method().log().path().log().parameters()
            .when().post(MessageFormat.format(registrationUrl, testName));

输出:

Request method: POST
Request path:   http://localhost:8080/registrionURL
Request params: <none>
Query params:   <none>
Form params:    paramKey=[param space, param space]
Path params:    <none>
Multiparts:     <none>

有人知道如何发送长度为 1 的列表作为表单参数吗?

最佳答案

如果将表单参数作为 List 传递,它会起作用:

.formParam(paramKey, Arrays.asList(paramWithSpace))

关于java - 使用 RestAssured 将一项列表作为 formParam 发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41753083/

相关文章:

java - 如何在java正则表达式中写入任意字符串?

java - 如何从基类复制 RequestSpecification 的实例

java - 如何在放心中处理查询参数值中的特殊字符

java - JPA 中的哪个内存区域分配给托管实体对象?

Java类给出日期的长字符串格式? (用言语来说,就像说话一样)

java - Java 中的通用 vector

java - 集成 JaCoCo、Arquillian 和 REST Assured 使我的代码覆盖率为 0%

intellij-idea - 请放心,IntelliJ IDEA 中的 3.0.3 maven 依赖项不起作用

java - 在使用 java 的 Rest-assured 执行操作时,无法获取断言的响应正文数据

javascript - Rhino Javascript - 如何标记异常堆栈跟踪的字符串源