当前位置: 首页 > 知识库问答 >
问题:

在Rest-确保中使用Json文件作为有效负载

梁丘诚
2023-03-14

我有一个巨大的JSON文件作为RESTAPI调用的有效负载发布,用于测试目的。我试过这样的方法:

    public void RestTest() throws Exception {
    File file = new File("/Users/bmishra/Code_Center/stash/experiments/src/main/resources/Search.json");
    String content = null;

    given().body(file).with().contentType("application/json").then().expect().
            statusCode(200).
            body(equalTo("true")).when().post("http://devsearch");


}

并将错误获取为:

java.lang.UnsupportedOperationException: Internal error: Can't encode /Users/bmishra/Code_Center/stash/experiments/src/main/resources/Search.json to JSON.

我可以通过读取文件和传递身体作为字符串运行,但我看到我可以直接传递文件对象,这不起作用。

经过充分的研究,它似乎不起作用。我已经放心地提出了这个问题。https://github.com/jayway/rest-assured/issues/674

共有2个答案

颜镜
2023-03-14

我使用一个通用方法从json中读取并将其作为字符串发送,即:

public String generateStringFromResource(String path) throws IOException {

    return new String(Files.readAllBytes(Paths.get(path)));

}

在你的例子中:

@Test
public void post() throws IOException {

   String jsonBody = generateStringFromResource("/Users/bmishra/Code_Center/stash/experiments/src/main/resources/Search.json")

    given().
            contentType("application/json").
            body(jsonBody).
    when().
            post("http://dev/search").
    then().
            statusCode(200).
            body(containsString("true"));
}
刘博文
2023-03-14

后张贴的问题与放心的团队。我有一个固定。我测试了修复程序,现在问题解决了。

请放心:

它现在应该被修复了,所以我现在部署了一个新的快照来解决这个问题。添加以下Maven存储库后,请尝试版本2.9.1-SNAPSHOT:

<repositories>
        <repository>
            <id>sonatype</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
            <snapshots />
        </repository>
</repositories>

更多信息:https://github.com/jayway/rest-assured/issues/674#issuecomment-210455811

 类似资料:
  • 我有一根生弦。我只是想验证这个字符串是否是有效的JSON。我正在使用JSON. NET。

  • 我不知道如何解决这个问题,我有一个映射到模型类的有效负载JSON,我需要验证一个键是否存在,或者它的值是否为null,如果存在,则在响应中返回缺少的键或null键。 **需要构建响应:** 任何帮助都将不胜感激

  • 问题内容: 我试图确保传递给go程序的URL有效。但是,我似乎无法解决。我以为我可以解决问题,但这似乎并没有完成。 操场 有沿线的任何filter_var我可以使用吗? 问题答案: 您可以检查您的URL是否具有“方案”,“主机”和/或“路径”。 如果检查返回的URL,则可以看到无效部分已插入不透明数据部分(从某种意义上讲是有效的)。 如果您解析一个URL并且没有Scheme,Host和Path,则

  • 问题内容: 是否有简单的方法在.NET中使用JSON来确保密钥以小写形式发送? 目前,我正在使用newtonsoft的Json.NET库,并且仅使用 在这种情况下只是以下对象 这导致 有没有办法确保和键都以小写形式通过? 我不想简单地通过运行它,当然,因为价值观和是混合的情况。 我意识到我可以以编程方式执行此操作并手动创建JSON字符串,但是我需要大约20个左右的JSON数据字符串,并且正在查看是

  • 是否可以在发布的有效负载中使用在上一次测试中设置的环境变量? 例如。