簡體   English   中英

在 HttpClient 刪除方法中發送正文(Angular 5)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM