Warum REST-API verwenden, wenn Sie alles mit „POST“ erledigen könnten?

Warum REST-API verwenden, wenn Sie alles mit „POST“ erledigen könnten?

Ich habe mir Dokumentationen zur REST-API durchgelesen. Als Anfänger verstehe ich nicht, warum man REST verwenden sollte, wenn man mit dieser postMethode alles machen könnte?

Wenn ich beispielsweise das Backend auffordere, einen Eintrag zu löschen, könnte ich delete_onein einer Anfrage einfach die URL aufrufen POST. Warum sollte ich mir die Mühe machen, eine umständliche DELETEAnfrage zu entwerfen?

Antwort1

Eines der Ziele von REST-Einschränkungen ist es, von mehrschichtigen Caches zu profitieren. Wenn Sie dem REST-Architekturstil folgen, erhalten Sie eine gemeinsame Sprache, um Vorgänge und Beziehungen zwischen verschiedenen Vorgängen auf eine Weise zu beschreiben, die nicht nur von den Endpunkten (Client und Server), sondern auch von Zwischenkomponenten wie Caches und Middlewares verstanden wird. Diese Caches und Middlewares können generische, handelsübliche Komponenten sein, die nicht speziell für Ihre Anwendung erstellt oder konfiguriert wurden, sondern nur die grundlegende Semantik von HTTP (oder der von Ihnen verwendeten REST-Variante) verstehen.

Wenn Sie in Ihrem speziellen Beispiel eine HTTP-DELETE-Methode verwenden, geben Sie auch an, dass Caches für diese URL ungültig gemacht werden sollen:

Wenn eine DELETE-Anfrage durch einen Cache läuft, der eine oder mehrere gespeicherte Antworten für die effektive Anfrage-URI hat, werden diese gespeicherten Antworten ungültig (siehe Abschnitt 4.4 von [RFC7234]).

Dies bedeutet, dass ein nachfolgender GET-Befehl für diese URL die Daten vom Ursprungsserver und nicht aus Caches abrufen sollte.

verwandte Informationen