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

Rest保证响应体验证

司马辉
2023-03-14

我有一个与 Rest Assured 中的响应正文验证相关的问题。让我们假设,我有一个像json这样的响应体。

{
    "store": {
        "books_count":3,
        "books": [
            {
                "genre": "fiction",
                "author": {
                    "name": "William",
                    "lastName" : "Evans"
                }
            },
            {
                "genre": "kids",
                "author": {
                    "name": "Eric",
                    "lastName" : "Carle"
                }
            },
            {
                "genre": "science",
                "author": {
                    "name": "Ronald",
                    "lastName" : "Forks"
                }
            }
        ]
    }
}

我需要检查:

  1. 如果图书部分包含儿童类型
  2. 如果一本儿童类书籍的自动名称为Eric

第一个断言可以是这样的:

response.body("store.books.genre", hasItem("kids);

但是我需要检查它的作者的名字是否是威廉。有没有办法使用jsonPath检查它?

我假设,我可以做反序列化(例如,x. List

共有1个答案

陆飞鸿
2023-03-14

如果一本儿童类型的书有作者的名字作为埃里克

您可以利用GPath按条件提取值

.body("store.books.find {it.genre == 'kids'}.author.name", is("Eric");
 类似资料:
  • 我有办法: 此方法返回有关应用程序版本的信息。就像这样: 它是文本,不是xml,不是json,也不是html。 当我尝试使用此方法在REST保证: 我没有收到回复机构: 来自进程的日志: 为什么我没有收到响应体?当我试图在浏览器上转到这个链接时,我收到了一个值。 这是邮递员的一个例子

  • 我知道rest assure中有很多关于验证的信息,但不幸的是,我无法找到我的问题的确切解决方案。 我正在训练以验证以下JSON的响应: 具有以下代码: 期望值返回 g1 和 g2 的列表。 我得到的错误是: 我怎样才能做到这一点?

  • 我有一个关于Rest保证的问题。-https://code.google.com/p/rest-assured/wiki/Usage 我知道我可以使用REST保证进行HTTP调用(. get. put等)。)并使用时()等验证响应。我想验证我已经保存在数据库中的JSON响应,而不是实时调用Web服务并验证它的响应。 我可以使用REST-保证加载JSON响应作为字符串并验证它吗?

  • 我用Spring Boot Rest实现了控制器: DTO回应道: 未验证响应正文。我已经用< code>@Valid对其进行了注释,但是< code>null值仍然通过。请求验证工作良好。 如何验证响应正文?

  • 我目前正在使用rest和Json-Unit对请求的rest响应断言本地json文件。 我目前有一个前类方法与我的基本uri. 我不知道该如何断言。我正在努力处理json单元文档。我需要先输入一个文件吗?

  • 我有一个方法,调用一个endpoint来发布客户我怎么才能只得到消息"EMAIL ALREADY EXISTS"从响应体的Rest模板,以便在FacesContext中显示它 这是回应机构