682 Stimmen

Was ist der Unterschied zwischen REST und RESTful?

Was ist der Unterschied zwischen einem REST-System und einem System, das RESTful ist?

Aus einigen Dingen, die ich lesen Die meisten so genannten REST-Dienste sind eigentlich RESTful-Dienste. Was ist also der Unterschied zwischen den beiden.

3 Stimmen

Der Grund für die Frage ist, dass die meisten REST-Implementierungen gar keine REST-Systeme sind, wenn man den Artikel in dem Link liest und nachschlägt, was Dr. Fielding über sie denkt. Sie zeigen zwar ein REST-gerechtes Verhalten, können aber nicht als REST-Systeme eingestuft werden.

5 Stimmen

Ich habe den Artikel gelesen, aber ich glaube nicht, dass er ihn zu solchen semantisch nutzlosen Unterscheidungen veranlasst hat.

7 Stimmen

Wikipedia-Artikel über REST - de.wikipedia.org/wiki/Darstellung_Zustand_Übertragung - Zweiter Absatz - "Die Einhaltung der REST-Einschränkungen wird oft als 'RESTful' bezeichnet."

7voto

Andrew Norman Punkte 763

Im Richardson Maturity Model sind 4 Stufen von API definiert. Diese sind definiert als:

  • Ebene 0: jedes System, das einen einzigen Endpunkt für alle seine Apis hat (SOAP oder RPC fallen in diese Kategorie). Apis der Ebene 0 können auch "Befehlen" ähneln.

  • Ebene 1: ein ResourceUri beschriebenes System. Hierbei handelt es sich um ein System, das mehrere entitätsbasierte URIs definiert (anstelle eines einzigen Endpunkts wie bei Systemen der Stufe 0). Diese URIs können verschiedene http-Aktionen (POST, GET, PUT usw.) verwenden, um verschiedene Aktionen für diese Ressource durchzuführen.

  • Stufe 2: wie Stufe 1 mit einer konformen Verwendung von Standard-HTTP-Methoden/Verben und Antworten mit mehreren Statuscodes

  • Stufe 3: auch Stufe 2 plus HATEOAS (in der Antwort enthaltene Hypermedia, die zusätzliche Anrufe beschreibt, die Sie tätigen können)

Während die Stufen 1, 2 und 3 als REST-Systeme betrachtet werden können, gelten nur die strengeren Stufen (auch bekannt als Stufe 2 und Stufe 3) als RESTful.

Im Grunde sind also alle RESTful-Apis REST-Apis, aber nicht alle REST-Apis sind RESTful

Definition des Richardson Maturity Model

3voto

DudeGuy Punkte 119

Aus dem Blickwinkel der objektorientierten Programmierung betrachtet, entspricht REST der zu implementierenden Schnittstelle, und ein RESTfull-Dienst entspricht der tatsächlichen Implementierung der REST-"Schnittstelle".

REST definiert lediglich eine Reihe von Regeln, die festlegen, was eine REST-Api ist, und ein RESTfull-Dienst folgt diesen Regeln.

Viele Antworten oben bereits die meisten dieser Regeln, aber ich weiß, eines der großen Dinge, die erforderlich ist, und in meiner Erfahrung oft übersehen, wie, dass ein echter REST api Hyperlink angetrieben werden muss, zusätzlich zu allen der HTTP PUT, POST, GET, DELETE Jazz.

2voto

Brenden Punkte 7337

Ein "REST-Dienst" und ein "RESTful-Dienst" sind ein und dasselbe.

Ein RESTful-System ist ein System, das den REST-Konventionen folgt, wie sie in das ursprüngliche Dokument, das die Idee von RESTful vernetzten Anwendungen begründet hat .

Es ist erwähnenswert, dass es verschiedene Stufen der RESTfulness gibt. Insgesamt ist REST ein Stil, kein Standard, so dass es Raum für Interpretationen je nach Bedarf gibt. Ein Beispiel sind hierarchische Ressourcen-URLs (z. B. /things/ID/relatedthings ) gegenüber flachen URLs (z. B. /things/ID y /relatedthings?thing=ID )

2voto

Pat Punkte 2630

Stellen Sie sich REST als eine architektonische "Klasse" vor, während RESTful die bekannte "Instanz" dieser Klasse ist.

Bitte beachten Sie das ""; wir haben es hier nicht mit "echten" Programmierobjekten zu tun.

2voto

Manas Punkte 61

REST (REpresentation State Transfer) ist eine Architektur, mit der WebServices erstellt werden.

y

RESTful ist eine Methode zum Schreiben von Diensten unter Verwendung der REST-Architekturen. RESTful-Dienste legen die Ressourcen offen, um die Ziele für die Interaktion mit Kunden zu identifizieren.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X