如何更新 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)
});
这将使您获得更新用户的对象..!!
希望对即将到来的新手有所帮助..!!
我从 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)
});
这将使您获得更新用户的对象..!!
希望对即将到来的新手有所帮助..!!