Was ist der Unterschied zwischen einer REST-API und einer normalen API (die eine JSON-Antwort ausgibt)?Unterschied zwischen einer Ausgabe einer normalen API und einer REST-API
Antwort
Es gibt keinen Unterschied. REST beschreibt eine Art der Interaktion mit einem HTTP-Server und nicht das, was der Server als Antwort zurückgeben soll. Die meisten Web-Apps interagieren mit der Server-Seite durch POST- oder GET-Anfragen mit zusätzlichen Informationen, die benötigt werden, um die Anfrage in einer Formular-Einreichung für POST oder die Abfrage-Zeichenfolge für GET zu erfüllen. Wenn Sie also etwas vom Server löschen möchten, tun sie normalerweise POST mit einem Formular, das Daten enthält, die eine Ressource zusammen mit einer Anweisung zum Löschen angeben.
HTTP implementiert jedoch Methoden (auch als Verben bezeichnet) anders als GET oder POST. Es implementiert auch, unter anderem, HEAD (gibt dieselben Header zurück, die Sie für einen GET gemacht hätten, aber ohne Antworttext), PUT (nimmt den Anfragetext und speichert seinen Inhalt an welcher URL auch immer die PUT-Anfrage gemacht wurde), und LÖSCHEN (Löschen Sie die Ressource, die an der angegebenen URL vorhanden ist). Eine REST-Schnittstelle verwendet einfach diese zusätzlichen Verben, um die Bedeutung der Anfrage an den Server zu übertragen.
Browser unterstützen normalerweise nur GET und POST für "normale" (non-XHR) Anfragen, aber Tools wie Curl können den kompletten Satz von HTTP-Verben ausgeben. Sie können auch zusätzliche Verben mit XHR-basierten Techniken wie AJAX verwenden.
Sie müssen weiterhin eine traditionelle Nicht-REST-API für Browser bereitstellen, es sei denn, Sie machen Javascript und XHR-Unterstützung für die Verwendung Ihrer App erforderlich.
REST bezieht sich meist nur auf die Verwendung des HTTP-Protokolls, so wie es beabsichtigt war. Verwenden Sie die HTTP-Methode GET
für eine URL zum Abrufen von Informationen, möglicherweise in unterschiedlichen Formaten, die auf HTTP-Header Accept
basieren. Verwenden Sie die HTTP-Methode POST
, um neue Elemente auf dem Server zu erstellen, PUT
, um vorhandene Elemente zu bearbeiten, DELETE
, um sie zu löschen. Machen Sie die API idempotent, d. H. Die Wiederholung derselben Abfrage mit derselben Information sollte das gleiche Ergebnis ergeben. Strukturieren Sie Ihre URLs in einer hierarchischen Art und Weise.
REST ist nur ein Leitfaden, wie URLs und das HTTP-Protokoll verwendet werden, um eine API zu strukturieren. Es sagt nichts über die Rückgabeformate aus, was auch JSON sein kann.
Dies steht beispielsweise im Gegensatz zu APIs, die Binär- oder XML-Nachrichten an einen bestimmten Port senden und keine Unterschiede in HTTP-Methoden oder URLs verwenden.
- 1. Unterschied zwischen einer AppCompat-Ansicht und einer normalen Android-Ansicht
- 2. Unterschied zwischen HTML-Komponente und einer normalen Komponente in Aurelia?
- 3. Unterschied zwischen einer Objekteigenschaft und einer Typeigenschaft
- 4. Unterschied zwischen einer Inline-Funktion und einer statischen Inline-Funktion
- 5. PopCommerce: Erstellen einer Beziehung zwischen einer Proforma-Rechnung und einer normalen Rechnung
- 6. Unterschied zwischen gepackten vs normalen Datentyp
- 7. Unterschied zwischen einer JAR-Datei und einer Bibliothek in Java
- 8. Unterschied zwischen einer MSG-Datei und einer EML-Datei
- 9. Was ist der Unterschied zwischen einer Portnummer und einer Protokollnummer?
- 10. Was ist der Unterschied zwischen einer Subroutine und einer Funktion?
- 11. Was ist der Unterschied zwischen einer Eigenschaft und einer Instanzvariablen?
- 12. Was ist der Unterschied zwischen einer "nonce" und einer "GUID"?
- 13. Der Unterschied zwischen einer Brücke und einer Schnittstelle
- 14. Unterschied zwischen einer C++ - Ausnahme und einer strukturierten Ausnahme
- 15. Unterschied zwischen dem Ändern einer Variablen und einer Eigenschaft
- 16. Unterschied zwischen einer virtuellen Funktion und einer rein virtuellen Funktion
- 17. Node.js HTTP/NET - Unterschied zwischen einer Verbindung und einer Anfrage
- 18. Was ist der Unterschied zwischen einer HashMap und einer TreeMap?
- 19. Was ist der Unterschied zwischen einer Webreferenz und einer Servicereferenz?
- 20. Unterschied zwischen einer "Coroutine" und einem "Thread"?
- 21. Unterschied zwischen einem Treiber und einer Bibliothek?
- 22. Unterschied zwischen einem Subsystem und einer Komponente
- 23. Unterschied zwischen einer Elternklasse und Superklasse
- 24. Unterschied zwischen einer Klasse und einem Modul
- 25. Was ist der Unterschied zwischen einer Route und einer Ressource in der New Router API?
- 26. Gibt es noch einen Unterschied zwischen einer Bibliothek und einer API?
- 27. Unterschied zwischen einer Suche in der Nähe und einer Textsuche in Google Places API
- 28. Was ist der Unterschied zwischen einer Datenbank und einem normalen dateibasierten System?
- 29. Unterschied zwischen OSGi-Bundle und normalen .JAR-Dateien Verwendung
- 30. gibt es einen Unterschied zwischen einer Select-Anweisung innerhalb einer Transaktion und einer außerhalb davon
Hallo, ich möchte eine API machen, die von Handys Appas sowie Websites konsumiert werden. Was wäre der beste Weg, um die API (REST oder Non REST) zu machen? – Shaolin