使用Rest-assured无法使用矩阵参数进行GET

时间:2016-02-14 01:18:09

标签: json rest rest-assured

我的请求看起来像这样:

http://localhost:8080/car/bmw;color=red

返回汽车模型,颜色为json数据。 如果我在没有指定颜色的情况下执行请求,则默认为绿色。

Java代码:

String resourcePath = "http://localhost:8080/"
String carModel= "bmw"
String color = "red"

 RestAssuredResponseImpl response =
 (RestAssuredResponseImpl) given().
     when().get(resourcePath + "car/" + carModel + ";color=" + color );

当我将url复制/粘贴到浏览器中时,它会按预期返回json,但是当我尝试放弃它时,我得到了404找不到的错误。 我尝试使用param(“color”,color)发送请求,但它只是忽略参数并返回默认的json。

1 个答案:

答案 0 :(得分:1)

似乎还不支持矩阵参数。今天(2020年1月),这仍然是RestAssured的公开功能要求:https://github.com/rest-assured/rest-assured/issues/417

建议的解决方法是关闭URL编码。

given().urlEncodingEnabled(false)
    .when()
    .get("http://localhost:8080/car/bmw;color=red");