Een body toevoegen aan de Angular HttpClient-verwijderfunctie

Ons project migreert naar Angular4en gebruikt @angular/common/http Httpclientals de standaard netwerktool. Maar ik ontdekte dat er geen bodyparams zijn in de verwijderfunctie. Hoe voeg ik de body toe om de functie te verwijderen? Bedankt.


Antwoord 1, autoriteit 100%

U kunt in plaats daarvan een universele request-methode gebruiken voor de HttpClient-klasse. Deze methode heeft de body in options.
https://angular.io/api/common/http/HttpClient#members

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


Antwoord 2, autoriteit 27%

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);
                   });
    });

door httpOptions te gebruiken, kunt u koptekst en hoofdtekst erin instellen.
raadpleeg deze https://angular.io/tutorial/toh-pt6#delete- een held


Antwoord 3, autoriteit 2%

Ik krijg dit probleem ook en mijn oplossing is het creëren van een nieuwe HttpRequestof delete-methode, kloon dan dit verzoek, reset de body met jouw gegevens.

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);
});

Snippet uitvouwen


Antwoord 4

import { HttpClient, HttpParams } from '@angular/common/http';
constructor(private http: HttpClient) { }    
deleteItem(item: any): Observable<any> {
    let params = new HttpParams();
    params = params.append('itemId', item.itemId);
    return this.http.delete<any>(`url`, { params });
}

Other episodes