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

如何断言基于身体项目与Rest保证与JSON响应?

强保臣
2023-03-14

我如何在“description”数组中使用放心断言我的属性?body()方法

示例:

 .body ("[0] .userType", equalTo (1)); // error 

下面是我当前的JSON数据,我想用它来断言:

{
"validSession": true,
"value": "xxx",
"description": [
    {
        "userType": 1,
        "userTypeDescription": "xxx",
        "uname": "xx",
        "distributorId": 1
    }
]}

共有3个答案

陈俊誉
2023-03-14

你能解释一下吗?

您需要在测试中引用描述[0]的原因是JSON数据中的元素“描述”是一个数组。您正在使用数组语法来声明您打算读取数组中名为“描述”的第一个元素。

鲁涵意
2023-03-14

请尝试使用以下代码片段:

.body("description[0]", hasItem(1))

如果有帮助,请告诉我。

曹建华
2023-03-14

我编辑它:

.body("validSession",is(true))
.body("description[0].userType", equalTo(1))
.body("description[0].userTypeDescription", containsString("xxx"))
.body("description[0].uname", containsString("xx"))
.body("description[0].distributorId", equalTo(1));

我测试了一下,它起作用了。但我不明白为什么它只通过放置数组的所有元素与索引零来工作。

你能解释一下吗?

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

  • 我有一个与 Rest Assured 中的响应正文验证相关的问题。让我们假设,我有一个像json这样的响应体。 我需要检查: 如果图书部分包含儿童类型 如果一本儿童类书籍的自动名称为Eric 第一个断言可以是这样的: 但是我需要检查它的作者的名字是否是威廉。有没有办法使用jsonPath检查它? 我假设,我可以做反序列化(例如,x. List

  • 这是我在控制器中的方法,由 我希望作为我的json。 这是我的JUnit测试: 以下是控制台输出: 甚至是是一个空字符串。 有人能建议如何在我的JUnit测试方法中获取JSON,这样我就可以完成我的测试用例了。

  • 我有办法: 此方法返回有关应用程序版本的信息。就像这样: 它是文本,不是xml,不是json,也不是html。 当我尝试使用此方法在REST保证: 我没有收到回复机构: 来自进程的日志: 为什么我没有收到响应体?当我试图在浏览器上转到这个链接时,我收到了一个值。 这是邮递员的一个例子

  • 我是Spring Security的新手 我有Sprint Boot Rest API项目,它公开了某些API。我已经为所有API实现了基于承载令牌的身份验证。例如 /user、 /resource、 /appointment 现在,对于特定控制器的几个api,我希望实现基本身份验证。这些API将被另一个不公开的服务使用。为了保证API的安全性,我希望为这些apis提供基本身份验证。例如 /int

  • 我很少使用jersey实现创建rest服务。出于安全考虑,服务可以由任何一个调用。所以我决定使用基于令牌的认证系统。我在spring security中编写了一个过滤器,它在每个请求到达服务器之前处理它。 创建了一个登录服务,这样用户就可以通过传递有效凭据的用户名和密码来调用该服务,它将生成访问令牌和到期日期,并将其保存在Hashmap和DB中,并作为响应返回给用户。 对于剩余的服务,用户必须传递