【问题标题】:angular REST get ID only from call角度 REST 仅从调用中获取 ID
【发布时间】:2019-01-26 10:12:30
【问题描述】:

我想打一个电话,然后从该电话中获取 ID 并稍后在某些代码中使用它 但我如何才能获得 ServiceProvider 编号?这是我从休息电话中得到的:

     {"mitId": 18,
     "ServiceProvider": "2"}

这是我现在的电话

  GetServiceProviderId() {
    var spid = this.http.get<Info>(this.rooturl + 'info', { headers: this.reqHeader})

    return spid;
  }

所以我想在另一个调用中使用 ServiceProvideNumber 但我如何只返回 2?

【问题讨论】:

  • mitId 是您尝试访问的 id 吗?还是您正在尝试访问现场 ServiceProvider?
  • 我想要获得 ServiceProvider,所以我想要从这个调用返回的“2”对不起,对于 angular 来说是超级新手
  • return spid.ServiceProvider 呢?
  • 所以如果上面的结果是一个 json 字符串,你可能需要使用 JSON.parse(jsonString) 将它转换为一个 js 对象。然后按照@Programmer 提到的方式访问它
  • @OleBark 你检查我的答案了吗?

标签: angular rest api typescript get


【解决方案1】:

从方法 GetServiceProviderId 返回 observable:

GetServiceProviderId() {
    return this.http.get<Info>(this.rooturl + 'info', { headers: this.reqHeader});
}

订阅以在任何您想要的地方消费响应中的价值:

GetServiceProviderId.subscribe(res => {
    console.log(res);
    //here you will get id
})

【讨论】:

    【解决方案2】:

    我最终这样做了:

      GetServiceProviderId(): Observable<Info> {
        return this.http.get<Info>(this.rooturl + 'info', { headers: this.reqHeader })
      }
    

    这只是返回 json 请求,然后我将使用管道和平面图获取 '2'

      GetInstallation(): Observable<Installation[]> {
        return this.GetServiceProviderId().pipe(
          flatMap(info => {
            return this.http.get<Installation[]>
              (this.rooturl +
              "url/?serviceproviderid=" +
              info.ServiceProviderId
          })
        )
      }
    

    这将使调用 api/url/?serviceproviderid=2

    【讨论】:

      猜你喜欢
      • 2018-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-12
      • 1970-01-01
      • 2018-11-09
      • 2019-11-09
      • 1970-01-01
      相关资源
      最近更新 更多