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

确保Rest:应对多种结果?

巫马庆
2023-03-14

当我在测试中发布名为“John”的请求时,我得到了几个响应结果:

<links>
<a href="http://test.com/1" id="7875a7a1" title="doctor">John Smith</a>
<a href="http://test.com/2" id="a3e51e21">John Doe</a>
....
</links>

我的目标是找到正确的John,知道他的id并找出属性“title”是否存在。如何使用简单的when-then语法实现这一点?假设我不知道所需的项在哪个节点中。

从理论上讲,我可以得到所有节点的列表,并在for循环中逐个检查它们,但这听起来很丑陋......

共有1个答案

叶茂
2023-03-14

你可以这样做来验证职称是博士:

String id = "7875a7a1";
given().
       ...          
when().
       post("/x").
then().
       body("links.a.find { it.@id == '%s'}.@title", withArgs(id), equalTo("doctor"));

这样可以检查title属性是否存在:

String id = "7875a7a1";
given().
       ...          
when().
       post("/x").
then().
       body("links.a.find { it.@id == '%s'}.attributes().any { it.key == 'title' }", withArgs(id), is(true));
 类似资料:
  • API URL:https://davids-restaurant.herokuapp.com/menu_items.json?category=C 我正在尝试从上面的RESTAPI检索ID为913的name属性 请在下面找到我的代码 错误消息 我尝试了这个工作,但我不想用索引查询,但我想用ID查询

  • 我对web服务非常陌生。我已经公开了一些使用与Spring集成的Jersey 2的REST服务。现在我需要使用用户名/密码身份验证来保护那些rest服务。我被告知不要使用Spring Security。 我不知道该怎么做。我确实在网上搜索了一下,但是各种链接显示了不同的实现方式,我无法决定如何进行。

  • 考虑这段代码(引用自geeksforgeeks.org,作者Tushar Roy),如果从根到叶的路径具有总和为指定值的键,它会计算true或false: 在这段代码中,作者在对变量ans的赋值中使用了逻辑OR运算符,以避免用false覆盖true返回。我已将代码重构为: 尽管在这种情况下使用临时变量和/或逻辑OR运算符显然可以有效地防止递归返回的覆盖,但在递归调用中携带值的最佳方法是什么? 编辑

  • 在我的Spring Boot应用程序中,我想将用户角色多对多关系保存在数据库中相应的映射表中,但hibernate给了我一条错误消息。 我的User.java班: 我的Role.java课: 我的跑步方法: Hibernate向我提供了一条错误消息: 无法添加或更新子行:外键约束失败(。, CONSTRAINTFOREIGN KEY()REFERENCES()ON DELETE CASCADE O

  • 问题内容: 我正在尝试通过REST API自动确保某些用户。我的REST电话: 现在,在发送此呼叫时,出现以下错误; “错误的请求:Microsoft.Data.OData.ODataContentTypeException找不到与响应的内容类型匹配的受支持的MIME类型。所有受支持的类型’application / json; odata = verbose’与内容类型都不匹配’ applica

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