【问题标题】:How do I post with parameters using the Java restassured library?如何使用 Java reassured 库发布参数?
【发布时间】:2017-04-07 16:03:03
【问题描述】:

我想使用查询参数发送一个发布请求,如

https://10.40.0.20:8443/randomText/randomText/randomText?registrationInfo=%7B%22publicIpAddress%22%20%3A%20%22193.168.0.1%22%2C%20%22networkIpAddress%22%20%3A%20%22192.168.0.1%22%2C%20%22numberOfPartitions%22%20%3A%202%2C%20%22softwareVersion%22%20%3A%20%22v123%22%2C%20%22publicSshKey%22%20%3A%20%22ssh-key%22%2C%20%22macAddress%22%20%3A%20%2226%3A18%3A31%3Abf%3A19%3Aea%22%20%7D

如何使用 Java 的放心库来做到这一点?

given().contentType(ContentType.JSON)
                .header("accept", "application/json")
                .header("Content-Type", "application/application.json")
                .parameters("publicIpAddress", "194.168.0.1", "networkIpAddress",
                        "192.168.0.1", "numberPartitions",
                        1, "softwareVersion", "v123",
                        "publicSshKey", "ssh-key", "macAddress",
                        "1a:57:39:96:30:10")
                .log().method()
                .log().path()
                .expect()
                .statusCode(201)
                .when()
                .post("/uri/")
                .then()
                .log().status()
                .log().body();

这是我到目前为止所写的,但它不起作用。它向我发送了一个 400 的响应代码,格式错误。

我也使用了以下方法,但对我不起作用:

given().contentType(ContentType.JSON)
                .queryParam("publicIpAddress", "194.168.0.1")
                .queryParam("commsIpAddress", "192.168.0.1")
                .queryParam("numberOfActivePartitions", 1)
                .queryParam("testAgentSoftwareVersion", "v123")
                .queryParam("publicSshKey", "ssh-key")
                .queryParam("commsMac", "1a:57:39:96:30:10")
                .header("accept", "application/vnd.cobham.v1+json")
                .log().method()
                .log().path()
                .expect()
                .statusCode(201)
                .when()
                .post("/controllers/")
                .then()
                .log().status()
                .log().body();

【问题讨论】:

    标签: java post rest-assured


    【解决方案1】:

    你应该使用queryParam

    given().queryParam("name, "value")
                     .body(..)
                     .when()
                     .post(..);
    

    【讨论】:

      猜你喜欢
      • 2016-04-14
      • 2016-03-29
      • 1970-01-01
      • 1970-01-01
      • 2016-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-29
      相关资源
      最近更新 更多