Ich habe gehört, dass sowohl "Ressource" als auch "Endpunkt" sich auf dasselbe beziehen. Es scheint, dass Ressource ein neuerer Begriff ist.
Was ist der Unterschied zwischen ihnen? Bedeutet "Ressource" ein RESTful-Design?
Ressource ist eine RESTful-Teilmenge von Endpoint .
Ein Endpunkt an sich ist der Ort, an dem auf einen Dienst zugegriffen werden kann:
https://www.google.com # Serves HTML
8.8.8.8 # Serves DNS
/services/service.asmx # Serves an ASP.NET Web Service
Eine Ressource bezieht sich auf ein oder mehrere Substantive, die in namengebundenen Darstellungen dargestellt werden, da es für Menschen leicht zu verstehen ist:
/api/users/johnny # Look up johnny from a users collection.
/v2/books/1234 # Get book with ID 1234 in API v2 schema.
Alle oben genannten Punkte könnten als Service-Endpunkte betrachtet werden, aber nur die unterste Gruppe würde im wahrsten Sinne des Wortes als Ressourcen betrachtet. Die oberste Gruppe äußert sich nicht zum Inhalt.
Eine REST-Anforderung ist wie ein Satz, der aus Substantiven (Ressourcen) und Verben (HTTP-Methoden) besteht:
GET
(Methode) der benannte Benutzer johnny
(Ressource).DELETE
(Methode) das Buch mit ID 1234
(Ressource).Endpunkt bezieht sich normalerweise auf einen Dienst, aber eine Ressource kann viele Dinge bedeuten. Hier sind einige Beispiele für Ressourcen, die von dem Kontext abhängen, in dem sie verwendet werden.
Etwas, das Ihnen helfen kann:
Die Bibliothek war eine wertvolle Ressource, die er häufig nutzte.
Ressourcen sind natürliche Substanzen wie Wasser und Holz, die für die Unterstützung des Lebens wertvoll sind:
[pl] Die Erde hat begrenzte Ressourcen, und wenn wir sie nicht recyceln, verbrauchen wir sie.
Ressourcen sind auch wertvolle Dinge wie Geld oder Besitztümer, die Sie verwenden können, wenn Sie sie benötigen:
[pl] Die Regierung verfügt nicht über die Ressourcen, um die Anzahl der benötigten Lehrer einzustellen.
Der Begriff Ressource hat per Definition viele Nuancen. Es hängt alles vom Kontext ab, in dem es verwendet wird.
Die Begriffe Ressource und Endpunkt werden häufig synonym verwendet. Tatsächlich bedeuten sie aber nicht dasselbe.
Der Begriff Endpunkt konzentriert sich auf die URL , über die eine Anfrage gestellt wird.
Der Begriff Ressource konzentriert sich auf den Datensatz , der von einer Anforderung zurückgegeben wird.
Auf dieselbe Ressource kann jetzt häufig von mehreren verschiedenen Endpunkten zugegriffen werden .
Auch der gleiche Endpunkt zurückgeben kann unterschiedliche Ressourcen in Abhängigkeit von einem Abfrage - String.
Sehen wir uns einige Beispiele an:
Verschiedene Endpunkte, die auf dieselbe Ressource zugreifen
Schauen Sie sich die folgenden Beispiele für verschiedene Endpunkte an :
Sie könnten offensichtlich alle auf dieselbe Ressource in einer bestimmten API zugreifen .
Auch eine vorhandene API könnte komplett geändert werden. Dies könnte zu neuen Endpunkten führen, die über völlig neue und unterschiedliche URLs auf dieselben alten Ressourcen zugreifen:
Ein Endpunkt, der auf verschiedene Ressourcen zugreift
Wenn Ihr Endpunkt eine Sammlung zurückgibt, können Sie das Suchen / Filtern / Sortieren mithilfe von Abfragezeichenfolgen implementieren. Infolgedessen verwenden die folgenden URLs alle denselben Endpunkt (
/api/companies
), können jedoch unterschiedliche Ressourcen (oder Ressourcensammlungen , die per Definition Ressourcen für sich sind) zurückgeben:quelle
Möglicherweise ist meine keine gute Antwort, aber hier geht es weiter.
Da ich mehr mit wirklich RESTful-Webdiensten über HTTP arbeite, habe ich versucht, die Benutzer davon abzuhalten, den Begriff Endpunkt zu verwenden, da er nicht klar definiert ist, und stattdessen die Sprache von REST zu verwenden, bei der es sich um Ressourcen und Ressourcenpositionen handelt.
Endpunkt ist für mich ein TCP-Begriff. Es ist mit HTTP zusammengeführt, da ein Teil der URL einen empfangenden Server identifiziert.
Ressource ist also kein neuerer Begriff, ich glaube nicht, ich denke, der Endpunkt wurde immer missbraucht, und wir erkennen dies, wenn wir uns mit REST als API- Stil beschäftigen .
Bearbeiten
Ich habe darüber gebloggt.
https://medium.com/@lukepuplett/stop-saying-endpoints-92c19e33e819
quelle
Laut https://apiblueprint.org/documentation/examples/13-named-endpoints.html ist eine Ressource ein "allgemeiner" Speicherort der angegebenen Entität - z. B. / customers / 30654 / orders, während ein Endpunkt die konkrete Aktion ist (HTTP-Methode) über die angegebene Ressource. Eine Ressource kann also mehrere Endpunkte haben.
quelle
Stellen Sie sich einen Server vor, der Informationen zu Benutzern, Missionen und deren Belohnungspunkten enthält.
Quelle: API-Endpunkte vs. Ressourcen
quelle
1. Ressourcenbeschreibung „Ressourcen“ bezieht sich auf die von einer API zurückgegebenen Informationen.
2. Endpunkte und Methoden Die Endpunkte geben an, wie Sie auf die Ressource zugreifen, während die Methode die zulässigen Interaktionen (wie GET, POST oder DELETE) mit der Ressource angibt.
Zusätzliche Informationen: 3. Parameter Parameter sind Optionen, die Sie mit dem Endpunkt übergeben können (z. B. Angabe des Antwortformats oder des zurückgegebenen Betrags), um die Antwort zu beeinflussen.
4. Anforderungsbeispiel Das Anforderungsbeispiel enthält eine Beispielanforderung unter Verwendung des Endpunkts mit einigen konfigurierten Parametern.
5. Antwortbeispiel und Schema Das Antwortbeispiel zeigt eine Beispielantwort aus dem Anforderungsbeispiel. Das Antwortschema definiert alle möglichen Elemente in der Antwort.
Quell- Referenz-Link
quelle