Was Sie als einzelne REST-APIs bezeichnen, wird möglicherweise als REST-API- Ressourcensatz oder -Ressourcensatz bezeichnet . Sie können es auch als Funktionalität der REST-API betrachten . Wie bei jeder Art von Software wird das gesamte Paket versioniert / aktualisiert, nicht einzelne Funktionen oder Ressourcen.
Ihre Frage ist in dem Kontext sinnvoll, in dem die Ressourcen des REST-API-Pakets modular sind und möglicherweise separat entwickelt und versioniert werden.
Meines Erachtens sind die wichtigsten Nachteile Ihrer vorgeschlagenen Namenskonvention für Ressourcen-Locator:
- Für den API-Benutzer würde dies zu viel komplexeren Ressourcen-Locators führen, die weniger vorhersehbar, weniger einprägsam und weniger stabil sind.
- Für die Modulentwickler ist es nun mehr Arbeit, sich mit dieser Versionierung in ihrem eigenen Ressourcen-Locator zu befassen .
- Änderungen an den Ressourcen-Locators werden immer häufiger, da mehrere Module aktualisiert werden und die oben genannten Nachteile exponentiell sind.
Eines Ihrer Hauptziele beim Erstellen einer API ist die einfache Verwendung ...
Finden Sie vielleicht eine bessere Möglichkeit, eine wichtige Änderung einzuführen oder die REST-API sogar mit einem HTTP-Header zu versionieren?
Weitere Informationen zum Ansatz von HTTP-Headern finden Sie in den folgenden Antworten: https://www.troyhunt.com/your-api-versioning-is-wrong-which-is/
vnd
Teil und die+
Syntax des Typs: um anzuzeigen, dass es sich um einen herstellerspezifischen Untertyp desapplication/json
Typs handelt. Genau dafür sind Inhaltstypen konzipiert. Ihre Ressource ist in mehreren Formaten verfügbar. Sie fordern den Kunden auf, das gewünschte Format auszuwählen. Darüber hinaus gibt es keinen Grund, warum API-Anforderungen keine standardmäßige HTTP-Caching-Semantik verwenden können.Wenn Sie jeden Endpunkt separat versionieren, müssen Sie in der Lage sein, jeden Endpunkt separat bereitzustellen.
APIs haben normalerweise eine Version, da sich alle Endpunkte in derselben Codebasis befinden und daher gemeinsame Abhängigkeiten aufweisen und zusammen bereitgestellt werden.
Wenn Sie die Version nicht aktualisieren, während Sie eine Änderung vornehmen, weil "Oh, ich bin mir ziemlich sicher, dass sich meine Änderung nicht darauf auswirkt", werden Sie Probleme bekommen, wenn Sie einen Fehler machen.
Darüber hinaus möchten Sie, dass sowohl Version 1 als auch Version 2 Ihrer API gleichzeitig bereitgestellt werden. Dies geschieht normalerweise, indem jede Version auf einem separaten Server bereitgestellt und der Datenverkehr entsprechend weitergeleitet wird.
Wenn Sie keine einzelne API-Version haben, wird dies viel komplexer.
quelle