我正在尝试从 Angular 7 前端与有点 REST API 交谈。
要从集合中删除某些项目,除了删除唯一 ID 之外,我还需要发送一些其他数据,即身份验证令牌、一些集合信息和一些辅助数据。
但是,Angular 7 的 Http 模块并不完全同意带有正文的 DELETE 请求,并尝试发出此请求。
这是我的api:
DELETE /user/verifications
body {
"doc_type": "govt_id",
"doc_id": "5beedd169db947867b710afd"
}
Run Code Online (Sandbox Code Playgroud)
小智 19
这适用于 Angular 6+,其中 http 是您的 HttpClient
const options = {
headers: new HttpHeaders({
'Content-Type': 'application/json'
}),
body: {
name: 'ravi',
id: 'ravi123'
}
}
this.http.delete('http://localhost:8080/user', options).subscribe(s => {
console.log(s);
})
Run Code Online (Sandbox Code Playgroud)
http.delete在 angular6 和 angular9 上使用对我不起作用。我不得不this.http.request('delete', url, options)改用。
此外,Typescript 似乎在键入响应方面存在一些问题,因此我不得不使用map操作员手动强制结果类型:
const httpOptions: any = {
headers: {
'Content-Type': 'application/json'
}
};
const uri = '/path/to/delete/api';
httpOptions.body = {
prop1: value1,
prop2: value2
// ...
};
return this.http.request<string>('delete', uri, httpOptions).pipe(
map((result: any) => result as string), // fix typescript typing
tap((result: string) => {
console.log('response from server:', result);
}
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16836 次 |
| 最近记录: |