我正在尝试使用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和集成密钥)
我已经找到了一些示例,说明人们如何将数据类型转换为可观察的对象,但是它们具有非常简单的对象,到目前为止,我对这些方法没有任何运气。任何帮助将不胜感激!
答案 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函数创建一个可观察的对象。它不需要一个可观察的参数。