json - 如何在 Rest Assured 中使用其 id 删除特定参数?
问题描述
下面是json响应
{
"details": [
{
"UserName": "john",
"id": "abc_123",
"LastName": "smith"
}
]
}
我只需要删除UserName
参数:
request.delete("http://localhost:8080/details/id/UserName");
上面的代码似乎不起作用,我的预期如下
{
"details": [
{
"id": "abc_123",
"LastName": "smith"
}
]
}
解决方案
在 SO 上发布问题之前,请检查最小、完整和可验证的示例,有人可以提供帮助,但我们需要事先知道您已经尝试过什么。
要回答您的问题,您应该使用PUT而不是DELETE因为您正在尝试更新有效负载。DELETE 顾名思义将删除完整的资源
检查此 链接以获取更多详细信息
PUT 调用是特定于资源的,因此您必须提及应该影响哪个实体。
我已经根据您提供的详细信息提出了一个示例代码
在这里使用了HashMap但您也可以这样发布正文或使用POJO或JSONObject
{
Map < String, Object > map = new HashMap < > ();
map.put("details", Arrays.asList(new HashMap < String, Object > () {
{
put("id", "abc_123");
put("LastName", "smith");
}
}));
RequestSpecification req = RestAssured.given();
req.header("Content-Type", "application/json");
req.body(map).when();
Response resp = req.put("http://localhost:8080/details/id/abc_123");
String body = resp.asString();
System.out.println("Response is : " + body);
}
推荐阅读
- ios - 在 iOS 中打开应用时显示本地通知
- python - 如何读取带有 € 和 % 符号的 csv 文件
- ruby-on-rails - rails计算两个哈希之间的百分比
- python - 遍历嵌套的json对象并使用python获取表中的值
- javascript - 您如何在 Chakra-UI 输入中按 Enter 键提交?
- java - 如何选择pdf文件android studio
- node.js - Rocky Linux 8:NodeJS 的 DH 关键配置问题
- amazon-web-services - 全局表上用于 DynamoDB 中事务写入的总 rWCU
- angular - 在 Azure 应用服务上使用 ASP.NET Core 配置 Angular
- java - 如何从 Scala 程序调用 Java 中定义的方法?