http.post returns res.headers 未定义

http.post returns res.headers undefined

在我的网站中 API(asp 核心) 当我 post 对象保存在数据库中时 return CreatAtRoute 这是对象的 URL 或位置 喜欢:http://localhost:api/photo/45

而且只是 return "res.headers undefined"

我正在使用这个代码 获取最近保存在 db

中的对象的 url
 addBankCard(bankCard: BankCard, id: string): Observable<BankCard> {
    return this.http.post(this.baseUrl + 'users/' + id + '/bankcards', bankCard)
      .pipe(
        flatMap((res) => {
          const loc = (res as Response).headers.get('Location');
          return this.http.get<BankCard>(loc);
        })
      );
  }

它只是 returns "res.headers undefined"

API 完美运行 我在启动时使用 AllowAnyHeaders class 在 Aspnetcore webapi

我该怎么办?

Angular httpclient return 默认响应正文。如果您可以访问整个响应,则需要更改 observe 输入函数参数:

addBankCard(bankCard: BankCard, id: string): Observable<BankCard> {
    return this.http.post(this.baseUrl + 'users/' + id + '/bankcards', bankCard,  {observe: 'response'})
      .pipe(
        flatMap((res) => {
          const loc = res.headers.get('Location');
          return this.http.get<BankCard>(loc);
        })
      );
  }