hapi.js, ein robustes Rahmen für die Herstellung von Anwendungen und Diensten, vereinfacht die JSON -API -Entwicklung mit seinen intelligenten Standardeinstellungen. Das modulare Architektur und das Plugin -Ökosystem ermöglichen eine nahtlose Erweiterung und Anpassung. Version 17.0 integriert async
/await
vollständig, wobei die Lesbarkeit von Synchroncode mit der nicht blockierenden Effizienz asynchroner Operationen angeboten wird, wodurch die Callback-Komplexitäten beseitigt werden.
Schlüsselmerkmale:
async
/await
Kompatibilität verbessert die Code -Klarheit und vermeidet Callback Hell. Erstellen einer Blog -API mit hapi.js:
Dieses Tutorial beschreibt die Erstellung einer Blog -API mit:
/
). Erste Schritte:
Stellen Sie sicher, dass Sie eine aktuelle Node.js -Version (8.9.0 oder höher) haben. Klonen Sie den Startercode:
git clone https://github.com/markbrown4/hapi-api.git cd hapi-api npm install
Das Skript package.json
"starten" verwendet nodemon
, um den Server automatisch bei Dateiänderungen neu zu starten. Führen Sie npm start
aus und greifen Sie auf http://localhost:3000/
, um die anfängliche Ausgabe anzuzeigen.
Routenhandler:
Routenhandler sind entscheidend. Hapis Antworthandhabung ist flexibel:
Content-Type: application/json
). Content-Type: text/html
). async
Funktionen verbessern häufig den Codefluss, wenn sie Versprechen verwenden:
Modellschicht (SQLite & Folgene):
Die Flexibilität vonHapi erstreckt sich auf die Modellschicht. Sie können Ihre Datenbank und ORM frei wählen. In diesem Tutorial wird SQLite und Folge verwendet:
git clone https://github.com/markbrown4/hapi-api.git cd hapi-api npm install
Die Datei models.js
definiert das Article
-Modell und stellt die Datenbankverbindung fest. Article.sync()
erstellt die Datenbanktabelle.
Erholte Aktionen:
Die Datei routes.js
definiert Routen für die Artikelverwaltung (CRUD). Diese Routen verwenden Sequelize -Methoden (findAll
, findById
, create
, update
, destroy
) für die Datenbankinteraktion.
API -Tests mit httpie:
httpie vereinfacht API -Tests aus der Befehlszeile. Befehle wie http GET
, http POST
, http PUT
und http DELETE
werden verwendet, um mit den API -Endpunkten zu interagieren.
Fehlerbehandlung:
Das Tutorial zeigt eine robuste Fehlerbehandlung unter Verwendung von Boom
, um standardisierte Fehlerantworten zu generieren (z. B. 404 nicht gefunden). Dem Folgenmodell wird eine benutzerdefinierte find
-Methode hinzugefügt, um Fälle zu verarbeiten, in denen Datensatz nicht gefunden werden.
Authentifizierung (JWT):
JWT -Authentifizierung wird mit dem hapi-auth-jwt2
-Plugin implementiert (ein mit HAPI 17.0 kompatibeler Gabel wird verwendet). Eine Anmelderoute generiert JWTs, und die Routen sind standardmäßig gesichert, was eine Authentifizierung erfordert, sofern nicht ausdrücklich als öffentlich gekennzeichnet (config: { auth: false }
).
Validierung (joi):
joi wird zur Eingabevalidierung verwendet, um die Datenintegrität zu gewährleisten. Validierungsregeln sind in Routenkonfigurationen definiert.
servieren statische Inhalte und Ansichten:
Das Tutorial zeigt, wie man statische Inhalte (HTML) bedient, und schlägt Ansätze für den Umgang mit Ansichten und Layouts vor. Die CORS-Konfiguration wird auch für Cross-Origin-Anfragen erörtert.
häufig gestellte Fragen (FAQs):
Der Artikel schließt mit einem umfassenden FAQ Handhabung.
Das obige ist der detaillierte Inhalt vonErstellen von Apps und Diensten mit dem Framework hapi.js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!