gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 11:51:44 26 4
gpt4 key购买 nike

我正在尝试通过 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com