如何更新 public api in angular 中的自定义对象?

How to update a customized object in a public api in angular?

我从 json.typicode.com 获取数据,即 public 假休息 api 并通过获取我需要的字段数将 json 转换为对象,如果我想的话要更新该对象,是否会出现类型不匹配或其他问题,或者我需要执行任何额外操作?

我有一个名为 User 的界面,其中包含一定数量的字段

export interface  User {
    id: number;
    email: string;
    name: string;
    phone: string;
    username: string;
}

我正在从假 Rest api 获取数据,即

public getUsers():Observable<User[]>{
    return this.http.get<User[]>("https://jsonplaceholder.typicode.com/users");
}

所以上面的代码是写在我注入到我的ts文件中的服务中的

如果您在浏览器中点击 https://jsonplaceholder.typicode.com/users,您将获得如下 Json 对象

{
    "id": 1,
    "name": "Leanne Graham",
    "username": "Bret",
    "email": "Sincere@april.biz",
    "address": {
      "street": "Kulas Light",
      "suite": "Apt. 556",
      "city": "Gwenborough",
      "zipcode": "92998-3874",
      "geo": {
        "lat": "-37.3159",
        "lng": "81.1496"
      }
    },
    "phone": "1-770-736-8031 x56442",
    "website": "hildegard.org",
    "company": {
      "name": "Romaguera-Crona",
      "catchPhrase": "Multi-layered client-server neural-net",
      "bs": "harness real-time e-markets"
    }
  },

我可以使用 Map 函数映射数据并只获取我想要的那些字段。

但是现在如果我想更新用户,问题将是如何使用不同于 api json?

的自定义对象更新数据

在我使用假 Rest api 的情况下,这是可能的,只需要更新特定字段,就可以将自定义对象传递给服务进行更新,无需转换..!!

这是代码

public updateUser(user:User):Observable<User>{
  return this.http.put<User>("https://jsonplaceholder.typicode.com/users/"+user.id,user);
}

所以如果对象的类型是问题中的接口,那么必须只需要更新必填字段并且需要传入服务并且可以检索与

相同
this._usersService.updateUser(elementObj).subscribe(user=>{
      console.log(user)
    }); 

这将使您获得更新用户的对象..!!

希望对即将到来的新手有所帮助..!!