How to add a body to Angular HttpClient delete function
You may use a universal request
method on the HttpClient class instead. This method has the body in options.https://angular.io/api/common/http/HttpClient#members
e.gthis.http.request('delete', 'url', { body: ... })
const httpOptions = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }), body: your body data};return new Promise(resolve => { this.httpClient.delete(URL, httpOptions) .subscribe(res => { resolve(res); }, err => { resolve(err); }); });
by using httpOptions, you can set header and body in it.please refer this https://angular.io/tutorial/toh-pt6#delete-a-hero
I also get this problem and my solution is creating a new HttpRequest
of delete method, then clone this request, reset its body with your data.
let req = new HttpRequest('DELETE', 'url');let newReq = req.clone({body: [10]});this.http.request(newReq).subscribe((res) => { console.log(res);}, (err) => { console.log(err);});
The clone()
is required, because the body still can not be directly set in the new HttpRequest()
.