【发布时间】:2018-02-08 12:29:46
【问题描述】:
我正在将 Http 迁移到 Angular 5 应用程序中的 HttpClient 并且一切都很好,直到我使用其中一项服务的这种方法:
deleteMultipleObjects(userId: number, officeId : number, objectsData : any) {
const url = `${APP_URL}/delete-objects/${userId}/${officeId}`;
let headers = new Headers({ 'Content-Type': 'application/json' });
this.appOptionsService.log("Deleting multiple objects.....", url, objectsData);
return this.http
.delete(url, { headers : headers, body : objectsData } )
.map(this.extractData)
.catch(this.handleError);
}
如你所见,我在删除调用的主体中传递了一个对象objectsData,它基本上具有这种结构:
{
objectIds: [id1, id2, id3, ...]
}
我看到HttpClient 中的delete 方法不允许包含正文,那么我如何发送对象ID 数组以通过调用删除?我有很多与这个相同的删除调用,所以我必须更改代码中的很多东西以适应它......
谢谢!
【问题讨论】:
-
body for delete 方法并不可取,因此许多平台已经开始忽略 body for delete 请求。
-
那么,如果我想一次删除多个对象,是否必须使用 PUT 请求而不是 DELETE?
-
是的。这是实现多次删除的唯一解决方法。
-
谢谢,我会更改所有的电话然后...干杯。
标签: angular httpclient