更新json服务器中的数据

问题描述

我只想更新我的 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 服务器是一个休息服务器并且您只想更改一个属性,那么您应该尝试 PATCH 请求,而不是 PUT。 PUT 更新整个对象,PATCH 只更改提到的字段。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...