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.
Réponses
Trop de publicités? 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: ... })
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
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()
.