Einführung in Ruhe und erholsame APIs
In der modernen Webentwicklung müssen Sie häufig Begriffe wie Ruhe und API begegnen. Wenn Sie von diesen Begriffen oder gebrauchten APIs gehört haben, aber nicht vollständig verstehen, wie sie funktionieren oder wie Sie Ihre eigene API erstellen, ist diese Tutorial -Serie für Sie geeignet.
Diese Tutorial -Serie wird zunächst den Überblick über REST -Prinzipien und -konzepte über einen Überblick übernehmen. Wir erstellen dann eine vollständige API, die auf dem Node.js Express -Server ausgeführt wird und eine Verbindung zur MySQL -Datenbank herstellt. Nach Abschluss dieser Reihe von Tutorials sollten Sie in der Lage sein, Ihre eigene API mit Zuversicht zu erstellen oder sich in Dokumentation für vorhandene APIs zu befassen.
Voraussetzungen
Um das Beste aus diesem Tutorial zu nutzen, sollten Sie über grundlegende Befehlszeilenwissen, grundlegende JavaScript -Kenntnisse verfügen und node.js global installieren.
Was sind Ruhe und erholsame APIs?
Deklarative State Transfer ( Rest ) beschreibt einen architektonischen Stil eines Webdienstes. REST enthält eine Reihe von Standards oder Einschränkungen für das Teilen von Daten zwischen verschiedenen Systemen. Ruhe ist ein abstraktes Konzept, keine Sprache, Framework oder Softwaretyp.
Eine lose Analogie über Ruhe lautet: Aufbewahrung von Vinyl -Plattensammlungen und Verwendung von Musikdiensten von Streaming. Für physikalische Vinyl -Datensatzsammlungen muss jeder Datensatz vollständig kopiert werden, um Kopien zu teilen und zu verteilen. Für Streaming -Dienste kann dieselbe Musik jedoch dauerhaft unter Bezugnahme auf bestimmte Daten wie Song -Titel geteilt werden. In diesem Fall ist Streaming-Musik ein erholsamer Service, während die Vinyl-Plattensammlung ein nicht restlicher Service ist.
API ist eine Anwendungsprogrammierschnittstelle, die es einer Schnittstelle ist, mit der Softwareprogramme miteinander kommunizieren können. Die erholsame API ist nur eine API, die die REST -Prinzipien und -beschränkungen folgt. In der Web -API empfängt der Server die Anforderung über den URL -Endpunkt und gibt eine Antwort zurück, die normalerweise Daten im JSON -Format sind.
REST -Prinzip
Sechs Leitbeschränkungen definieren die Restarchitektur wie folgt:
- Einheitliche Schnittstelle : Die Schnittstellen von Komponenten müssen gleich sein. Dies bedeutet, den URI -Standard zu verwenden, um Ressourcen zu identifizieren - mit anderen Worten, die in die Adressleiste des Browsers eingegeben werden können.
- Client-Server : Es gibt eine Trennung von Bedenken zwischen dem Server (Speichern und Betriebsdaten) und dem Client (Anfrage und Anzeige der Antwort).
- Staatenlose Interaktion : Alle Informationen zu jeder Anfrage sind in jeder einzelnen Anfrage enthalten und sind nicht vom Sitzungsstatus abhängig.
- Zwischengestützt : Clients und Server können Ressourcen zwischenspeichern.
- Hierarchisches System : Der Client kann eine Verbindung zum endgültigen Server oder mit der Zwischenschicht herstellen, z. B. einen Lastausgleich.
- On-Demand-Code (optional) : Der Client kann den Code herunterladen, wodurch die externe Sichtbarkeit verringert wird.
Anfragen und Antworten
Möglicherweise sind Sie mit allen Websites -URLs bereits mit HTTPS (Safe Version) vertraut. Das Hypertext -Transferprotokoll ( HTTP ) ist eine Kommunikationsmethode zwischen Clients und Servern im Internet.
Wir sehen es am offensten in der URL -Leiste des Browsers, aber HTTP kann nicht nur verwendet werden, um Websites vom Server anzufordern. Wenn Sie im Web auf eine URL zugreifen, führen Sie tatsächlich GET und andere Arten von Anfragen durch.
HTTP stellt eine Anforderung durch die Öffnung einer TCP -Verbindung (Transport Control Protocol) zum Serverport (HTTP, HTTPS) und der Hörserver gibt den Status und den Körper zurück.
Die Anfrage muss URL, Methode, Headerinformationen und Körper enthalten.
Anforderungsmethode
Es gibt vier Haupt -HTTP -Methoden, die auch als HTTP -Verben bezeichnet werden und die häufig zur Interaktion mit Web -APIs verwendet werden. Diese Methoden definieren die Aktionen, die auf einer bestimmten Ressource ausgeführt werden sollen.
Die HTTP -Anforderungsmethode entspricht ungefähr dem CRUD -Beispiel, das Erstellung, Aktualisierung, Lesen und Löschen darstellt. Obwohl Crud auf die Funktionen in Datenbankoperationen bezieht, können wir diese Entwurfsprinzipien auf HTTP -Verben in der erholsamen API anwenden.
<code>curl -i https://www.google.com</code>
Der Server von Google gibt Folgendes zurück:
<code>HTTP/2 200 date: Sun, 21 Aug 2022 19:06:22 GMT expires: -1 cache-control: private, max-age=0 content-type: text/html; charset=ISO-8859-1 ...</code>
Wir können den 200 -Statuscode sowie die Version von HTTP sehen (dies ist http/1.1, http/2 oder http/3).
Da diese bestimmte Anfrage eine Website zurückgibt, handelt es sich um Text/HTML. In der erholsamen API sehen Sie möglicherweise eine CURL -Anfrage an Google (ohne Google.com), die eine Antwort von 301 zurückgibt, die angibt, dass die Ressource umgeleitet werden sollte.
REST -API -Endpunkt
Wenn auf dem Server eine API erstellt wird, können auf die Daten über den Endpunkt zugegriffen werden. Ein Endpunkt ist eine URL, die Anfragen für Post -Anfragen akzeptieren und verarbeiten kann und Anfragen löschen kann.
Die API -URL besteht aus der Stamm-, Pfad- und optionalen Abfragezeichenfolge.
- Zum Beispiel kann das Wurzel von https://www.php.cn/link/9efa87e164995a7743eca9ad63029fa4 Protokolle, Domänennamen und -versionen enthalten.
- Pfad zum Beispiel /Benutzer /5: Der einzige Ort für eine bestimmte Ressource.
- Abfrageparameter (optional) wie Limit = 10 werden verwendet, um die Antwort zu filtern, die nur zehn Ergebnisse enthält.
Um einen Benutzer mit ID 5 zu erhalten, verwenden wir /Benutzer /5.
REST -API -Vertrag
Hier sind einige Konventionen, die Sie beim Erstellen einer erholsamen API befolgen sollten:
- Endpunkte sollten keine Dateierweiterungen anzeigen : Obwohl die API am wahrscheinlichsten JSON zurückgibt, sollte die URL nicht in .json enden.
- Verwenden Sie Substantive anstelle von Verben : Zum Beispiel, um einen Benutzer hinzuzufügen, sollten wir den Endpunkt /Benutzer verwenden und die Postanforderung anstelle des Endpunkts /Benutzer hinzufügen. Die API sollte entwickelt werden, um mehrere Arten von Anforderungen an dieselbe URL zu handhaben.
- Die Pfade sind fallsempfindlich und sollten Kleinbuchstaben und Bindestriche anstelle von Unterstrichen verwenden : Zum Beispiel ist /Benutzerliste /user_list vorzuziehen.
Alle diese Konventionen leiten Prinzipien, weil es keine strengen Ruhestandards gibt. Durch die Verwendung dieser Richtlinien wird Ihre API jedoch konsistent, vertraut und leicht zu lesen und zu verstehen.
Alternativen zur Ruhe
Ruhe ist ein großartiges Werkzeug, aber es gibt einige Alternativen, die in einigen Fällen helfen können.
SEIFE
SOAP (einfaches Objektzugriffsprotokoll) ist eine API, die 1998 erstellt wurde und vor Ruhe sehr beliebt war. Es gibt einige große Unterschiede zwischen ihnen. Erstens hat Seife viel strengere Einschränkungen der Antwortformate. Zweitens verwendet SOAP XML anstelle von JSON, was für ältere Anwendungen nützlich sein kann, aber normalerweise größer und komplexer ist als äquivalente JSON. Während SOAP gut mit HTTP funktioniert, unterstützt es auch Protokolle wie SMTP.
Graphql
GraphQL ist ein neueres API -Format, das von Facebook erstellt wurde, mit dem die Anzahl der HTTP -Anfragen reduziert werden soll, die für die Daten erforderlich sind, indem Clients dem Server genau mitgeteilt werden können, welche Daten es benötigt. Anstatt URL -Pfade zu verwenden, verfügt GraphQL über eine benutzerdefinierte Syntax, um zu definieren, welche Daten der Client benötigt, damit der Client alles in einer Anfrage erhält.
Eine großartige Einführung in GraphQL finden Sie in diesem GraphQL -Tutorial.
abschließend
In diesem Artikel erfahren wir, welche Ruhe und erholsame APIs sind, wie HTTP -Anforderungen Methoden und Antwortcode, die Struktur von API -URLs und die gemeinsamen API -Konventionen für erholsame APIs. Im nächsten Tutorial lernen wir, wie Sie all diese Theorien in die Praxis umsetzen, indem wir einen Express -Server mit node.js einrichten und unsere eigene API erstellen.
Dieser Artikel wurde aktualisiert und enthält die Beiträge von Jacob Jackson. Jacob ist ein Webentwickler, Tech -Autor, Freiberufler und Open -Source -Mitarbeiter.
Das obige ist der detaillierte Inhalt vonCodieren Sie Ihre erste API mit Node.js und Express: REST -API. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

JavaandjavaScriptaredistinctuGuages: JavaisusedForenterPrisandMobileApps, während JavaScriptisforinteractivewebpages.1) Javaiscompiled, statusweit, Andrunsonjvm.2) JavaScriptisinterpretierte, dynamisch und Runsinbrowserde

JavaScript -Kerndatentypen sind in Browsern und Knoten.js konsistent, werden jedoch unterschiedlich als die zusätzlichen Typen behandelt. 1) Das globale Objekt ist ein Fenster im Browser und global in node.js. 2) Node.js 'eindeutiges Pufferobjekt, das zur Verarbeitung von Binärdaten verwendet wird. 3) Es gibt auch Unterschiede in der Leistung und Zeitverarbeitung, und der Code muss entsprechend der Umgebung angepasst werden.

JavaScriptUSESTWOTYPESOFCOMMENMENTEN: Einzelzeilen (//) und Multi-Linie (//). 1) Verwendung // Forquicknotesorsingle-Linexplanationen.2 Verwendung // ForlongerExPlanationsCompomentingingoutblocks-

Der Hauptunterschied zwischen Python und JavaScript sind die Typ -System- und Anwendungsszenarien. 1. Python verwendet dynamische Typen, die für wissenschaftliche Computer- und Datenanalysen geeignet sind. 2. JavaScript nimmt schwache Typen an und wird in Front-End- und Full-Stack-Entwicklung weit verbreitet. Die beiden haben ihre eigenen Vorteile bei der asynchronen Programmierung und Leistungsoptimierung und sollten bei der Auswahl gemäß den Projektanforderungen entschieden werden.

Ob die Auswahl von Python oder JavaScript vom Projekttyp abhängt: 1) Wählen Sie Python für Datenwissenschafts- und Automatisierungsaufgaben aus; 2) Wählen Sie JavaScript für die Entwicklung von Front-End- und Full-Stack-Entwicklung. Python ist für seine leistungsstarke Bibliothek in der Datenverarbeitung und -automatisierung bevorzugt, während JavaScript für seine Vorteile in Bezug auf Webinteraktion und Full-Stack-Entwicklung unverzichtbar ist.

Python und JavaScript haben jeweils ihre eigenen Vorteile, und die Wahl hängt von den Projektbedürfnissen und persönlichen Vorlieben ab. 1. Python ist leicht zu erlernen, mit prägnanter Syntax, die für Datenwissenschaft und Back-End-Entwicklung geeignet ist, aber eine langsame Ausführungsgeschwindigkeit hat. 2. JavaScript ist überall in der Front-End-Entwicklung und verfügt über starke asynchrone Programmierfunktionen. Node.js macht es für die Entwicklung der Vollstapel geeignet, die Syntax kann jedoch komplex und fehleranfällig sein.

JavaScriptisnotbuiltoncorc; Es ist angehört, dass sich JavaScriptWasdedeSthatrunsonGineoFtencninc.

JavaScript kann für die Entwicklung von Front-End- und Back-End-Entwicklung verwendet werden. Das Front-End verbessert die Benutzererfahrung durch DOM-Operationen, und die Back-End-Serveraufgaben über node.js. 1. Beispiel für Front-End: Ändern Sie den Inhalt des Webseitentextes. 2. Backend Beispiel: Erstellen Sie einen Node.js -Server.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version

MinGW – Minimalistisches GNU für Windows
Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)
