如何轻松地使用API响应,但向响应添加一些额外的标志

How to easily consume an API response, but add some additional flags to the response?

本文关键字:响应 添加 标志 何轻松 API      更新时间:2023-09-26

我正在使用一个API,它返回一些关于照片的数据给我,但是我想添加一个标记到我得到的响应,我被称为favorite: boolean,所以我可以很容易地管理照片是否为收藏。

来自API的普通响应看起来像这样(但更简单):
{
  "photos": [
    { "id": 1001, "url": "site.com/img/1001" },
    { "id": 1002, "url": "site.com/img/1002" }
  ]
}

我想知道是否有一种方法来添加favorite标志,使我工作的对象看起来像这样:

{
  "photos": [
    { "id": 1001, "url": "site.com/img/1001", "favorite": false },
    { "id": 1002, "url": "site.com/img/1002", "favorite": false }
  ]
}

下面是我的代码,我从API得到响应:

  getRecentPhotos(): Observable<any> {
    let photos =  this.http
      .get(this.getRecentPhotosUrl)
      .map((res: Response) => {
        return res.json();
      })
      .catch(this.handleError);
    return photos;
  }

是否有可能将favorite标志添加到我从该函数返回的响应中?

谢谢

你有大部分的代码,你只需要在mapper中添加favorite标志,

.map((res: Response) => {
    let _result = res.json();
    _result = _result.map(_x => {
          _x = {favorite: false};
          return _x;
    })
    return _result ;
  })