下面是json响应
{
"details": [
{
"UserName": "john",
"id": "abc_123",
"LastName": "smith"
}
]
}
我只需要删除UserName
参数:
request.delete("http://localhost:8080/details/id/UserName");
上面的代码似乎不起作用,我的期望如下所示
{
"details": [
{
"id": "abc_123",
"LastName": "smith"
}
]
}
答案 0 :(得分:0)
在发布关于SO的问题之前,请检查Minimal, Complete, and Verifiable example,有很多人可以帮助您,但我们需要事先了解您的尝试。
要回答您的问题,应使用 PUT ,而不要使用 Delete ,因为您正在尝试更新有效负载。顾名思义,删除将删除整个资源
检查此link以获得更多详细信息
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);
}