【发布时间】:2021-07-11 08:20:26
【问题描述】:
我只想更新我的 json 服务器中的名称,但是当我 updateName() 时,对象的所有详细信息都被删除,除了 id 和更新的名称
updateName(id: string, name: string): Observable<any> {
const shipmentUrl = `${this.url}/${id}`;
return this.http.put<any>(shipmentUrl, {
name: name,
});
updateName 之前的对象
{
"id": "S1000",
"name": "T-shirts(Summer2018) from Shanghai to Hamburg",
"cargo": [
{
"type": "Fabric",
"description": "1000 Blue T-shirts",
"volume": "2"
},
{
"type": "Fabric",
"description": "2000 Green T-shirts",
"volume": "3"
}
],
"mode": "sea",
"type": "FCL",
"destination": "Saarbrücker Str. 38, 10405 Berlin",
"origin": "Shanghai Port",
"services": [
{
"type": "customs"
}
],
"total": "1000",
"status": "ACTIVE",
"userId": "U1000"
},
updateName 后的对象
{ "name": "shoes", "id": "S1000" },
【问题讨论】:
-
如果您的 json 服务器是一个 rest 服务器并且您只想更改一个属性,那么您应该尝试 PATCH 请求,而不是 PUT。 PUT 更新整个对象,PATCH 仅更改提及的字段。
标签: angular json-server