Notre projet migre vers Angular4, et utilise @angular/common/http Httpclient
comme outil réseau par défaut. Mais j’ai trouvé qu’il n’y avait pas body
params dans la fonction delete. Comment puis-je ajouter le corps pour supprimer la fonction? Merci.
Vous pouvez également utiliser une méthode universelle request
sur la classe HttpClient. Cette méthode a le corps dans les options. https://angular.io/api/common/http/HttpClient#members
par exemple this.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);
});
});
en utilisant httpOptions, vous pouvez définir un en-tête et un corps. veuillez vous référer à ceci https://angular.io/tutorial/toh-pt6#delete-a-hero
J'ai également ce problème et ma solution crée une nouvelle méthode HttpRequest
of delete, puis clone cette demande, réinitialise son corps avec vos données.
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);
});
La clone()
est requise, car le corps ne peut toujours pas être défini directement dans la new HttpRequest()
.