我正在尝试从Angular 2前端与一个相对RESTful的API进行通讯。
为了从一个集合中删除某个项,除了要将其唯一标识符(可以附加到url上)发送出去,还需要发送其他数据,例如身份验证令牌、集合信息和其他辅助数据。
我找到的最直接的方式是将身份验证令牌放在请求头中,将其他数据放在请求体中。
然而,Angular 2的Http模块不太支持带有请求体的DELETE请求。我尝试发起这个请求,但是……
let headers= new Headers();
headers.append('access-token', token);
let body= JSON.stringify({
target: targetId,
subset: "fruits",
reason: "rotten"
});
let options= new RequestOptions({headers:headers});
this.http.delete('http://testAPI:3000/stuff', body,options).subscribe((ok)=>{console.log(ok)}); <------line 67
会产生这个错误
app/services/test.service.ts(67,4): error TS2346: Supplied parameters do not match any signature of call target.
现在,从语法方面来说我有做错的地方吗?根据RFC,我相信DELETE body是被支持的。
还有更好的发送这些数据的方法吗?
或者我应该只是把它倒入标题中并结束呢?
任何关于这个难题的见解都将不胜感激。