60 votes

Comment ajouter un corps à la fonction de suppression Angular HttpClient

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 a pas de paramètres body dans la fonction de suppression. Comment ajouter la fonction body to delete? Merci.

115voto

Andrii Ivanyk Points 521

Vous pouvez utiliser une méthode universelle request sur la classe HttpClient à la place. Cette méthode a le corps en options. https://angular.io/api/common/http/HttpClient#members

par exemple this.http.request('delete', 'url', { body: ... })

29voto

Nasreen Ustad Points 302
 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 y définir un en-tête et un corps. veuillez consulter ce https://angular.io/tutorial/toh-pt6#delete-a-hero

2voto

Yitim Points 11

Je reçois aussi ce problème et ma solution est la création d'un nouveau HttpRequest de la méthode delete, puis clone de cette demande, réinitialiser 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);
});

L' clone() est nécessaire, parce que le corps ne peut toujours pas être directement défini dans l' new HttpRequest().

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X