Ich versuche, mit einem etwas RESTful API von einem Angular 2-Frontend zu sprechen.Body of Http.DELETE Anfrage in Angular2
Um ein Element aus einer Sammlung zu entfernen, muss ich zusätzlich zur eindeutigen ID (die an die URL angehängt werden kann) einige weitere Daten senden, nämlich ein Authentifizierungs-Token, einige Sammlungsinformationen und einige Zusatzdaten.
Der einfachste Weg, den ich gefunden habe, ist das Authentifizierungs-Token in die Anfrage Header und andere Daten im Körper zu setzen.
die Http-Modul von Angular 2 zu genehmigen ist jedoch nicht ganz von einer DELETE-Anforderung mit einem Körper und versucht, diese Anfrage
let headers= new Headers();
headers.append('access-token', token);
let body= JSON.stringify({
target: targetId,
subset: "fruits",
reason: "rotten"
});
let options= new RequestOptions({headers:headers});
this.http.delete('http://testAPI:3000/stuff', body,options).subscribe((ok)=>{console.log(ok)}); <------line 67
gibt diesem Fehler
app/services/test.service.ts(67,4): error TS2346: Supplied parameters do not match any signature of call target.
Jetzt zu machen, Mache ich etwas falsch in der Syntax? Ich bin mir ziemlich sicher, dass ein DELETE-Body per RFC unterstützt wird.
Gibt es bessere Möglichkeiten, diese Daten zu senden?
Oder sollte ich es einfach in den Headern ausgeben und es einen Tag nennen?
löschen (url, Optionen)
Die Anfrage:
Einsicht auf dieses Rätsel würde
Verwendung POST und benennen Benennung findAndDelete von löschen Sinn zu machen. – YOU
@YOU Ja, kann ich, aber sollte ich nicht versuchen, destruktive Aktionen von nicht-destruktiven Aktionen direkt auf Anfrage Typ Ebene zu halten? – TriTap
dann müssen Sie es in Querystring setzen, aber normalerweise setzen Sie ID von dem, was Sie in URL löschen möchten, und Authentifizierungsträger in Ajax-Header, um Löschanforderung zu senden. – YOU