Question Comment ajouter un corps à la fonction de suppression Angular HttpClient


Notre projet migre vers Angulaire4, et utilise @angular/common/http Httpclient comme outil de réseau par défaut. Mais j'ai trouvé il n'y a pas body paramètres dans la fonction de suppression. Comment ajouter le corps pour supprimer la fonction? Merci.


13
2017-09-05 07:18


origine


Réponses:


Vous pouvez utiliser un universel request méthode sur la classe HttpClient à la place. 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: ... })


26
2017-09-20 08:19



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 l'en-tête et le corps. veuillez vous référer à ceci https://angular.io/tutorial/toh-pt6#delete-a-hero


4
2018-04-10 07:41



J'ai aussi ce problème et ma solution crée un nouveau HttpRequest de la méthode delete, puis clone cette requête, 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);
});

le clone() est nécessaire, car le corps ne peut toujours pas être directement défini dans le new HttpRequest().


1
2017-09-15 10:55