Angular HTTP POST:从请求主体创建可观察对象

时间:2020-01-08 21:30:16

标签: angular

我正在尝试使用Angular的HTTPClient将请求正文传递给POST。据我所知,请求的正文部分看起来必须是可观察的,但是我不确定如何将请求的正文转换为可观察的以便通过。 >

以下是我要作为正文传递的数据:

options = {
  "response": {
    "mimeType": "application/json"
  },
  "request": {
    "pipeline": [
      {
        "source": {
          "trackEvents": {
            "trackTypeId": "FY9WgbZ-_9QldwEme1VVnb8nhAY",
            "blacklist": "ignore"
          },
          "timeSeries": {
            "period": "dayRange",
            "first": "now()",
            "count": -30
          }
        }
      }
    ]
  }
};

在此之前,我只是尝试将其作为常规对象传递:

  fetch() {
    this.http.post('https://', {
      headers: new HttpHeaders({
        'X-Integration-Key': '123',
        'Content-Type': 'application/json'
      })
    }, this.options).subscribe(function (data) {
      console.log(data);
    });
  }

(请在此处忽略URL和集成密钥)

我已经找到了一些示例,说明人们如何将数据类型转换为可观察的对象,但是它们具有非常简单的对象,到目前为止,我对这些方法没有任何运气。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

您的参数混乱。正文排第二,http选项排第三:

  fetch() {
    this.http.post('https://', this.options, {
      headers: new HttpHeaders({
        'X-Integration-Key': '123',
        'Content-Type': 'application/json'
      })
    }).subscribe(function (data) {
      console.log(data);
    });
  }

http post函数创建一个可观察的对象。它不需要一个可观察的参数。