我无法从curl调用下面获取路径参数以获取数据:
curl -X GET "http://url.co/base_path?sort_by=question_title&order=ASC&start_index=0&limit=20" -H "accept: application/json" -H "session-token: sessionToken"
“我的保证放心”电话如下:
Response response = given().header("accept", "application/json").header("session-token", accessToken)
.pathParam("sort_by", "question_title")
.pathParam("order", "ASC").pathParam("start_index", 0)
.pathParam("limit", 20)
.when().get("?{sort_by}/{order}/{start_index}/{limit}");
这给了我以下回复:
{"success":false,"message":"Please enter correct sorting key.","message_code":184,"data":null}
答案 0 :(得分:0)
首先,您要将查询参数与路径参数混淆。任何具有?
且后跟某些参数的URL都是查询参数,而路径参数则没有?
。这是URL的扩展,直接带有值。
所以您的代码将更改为
Response response = given()
.baseURI ("http://url.co")
.basePath ("/base_path")
.header("accept", "application/json")
.header("session-token", accessToken)
.queryParam("sort_by", "question_title")
.queryParam("order", "ASC")
.queryParam("start_index", 0)
.queryParam("limit", 20)
.when()
.get();
现在,所有查询参数都将通过以?
为前缀自动添加到URL。
这应该适合您的情况。