[英]Sending body in HttpClient delete method (Angular 5)
我正在 Angular 5 應用程序中將 Http 遷移到 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 數組? 我有很多與這個相同的刪除調用,所以我必須在代碼中更改很多內容以適應它......
謝謝!
您不能在 Angular 的DELETE
http 請求中發送正文。
MDN 上的 HTTP 規范說這是可能的。 文檔頁面。
如果您需要此功能,您應該使用PUT
作為解決方法。 在您的刪除 API 端點上允許多個例如 id 的另一種方法。 例如:
https://server.com/api/delete?ids=1,2,3,4,5
這需要對您的 api 進行一些更改。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.