我正试图从Angular 2前端与一个有点RESTful的API交谈.
要从集合中删除某些项目,除了可以附加到URL之外,我还需要发送一些其他数据(即可以附加到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
Run Code Online (Sandbox Code Playgroud)
给出了这个错误
app/services/test.service.ts(67,4): error TS2346: Supplied parameters do not match any signature of call target.
Run Code Online (Sandbox Code Playgroud)
现在,我在语法方面做错了吗?我很确定每个RFC都支持DELETE主体
是否有更好的方式来发送数据?
或者我应该将其转储到标题中并将其称为一天?
任何关于这个难题的见解都将受到赞赏