致电curl以获得放心的要求

时间:2018-12-06 14:33:42

标签: rest-assured

我无法从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}

1 个答案:

答案 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。

这应该适合您的情况。