


Technischer Artikel: Verwenden Sie Egg.js zum Erstellen einer Backend-Service-API (Sammlungsreihe)
Ich habe Egg.js kennengelernt, als ich js lernte, und habe eine detaillierte Studie durchgeführt. Es handelt sich um ein von Alibaba eingeführtes Knotenentwicklungsframework, das für Frameworks und Anwendungen auf Unternehmensebene entwickelt wurde. Wie man eine Backend-Service-API erstellt, erfordert weitere Untersuchungen. In diesem Artikel wird hauptsächlich Egg.js zum Erstellen einer Backend-Service-API vorgestellt. Sie können darauf zurückgreifen, wenn Sie es benötigen.
Was ich zuvor geschrieben habe
Da die normale Entwicklung auf der Trennung von Front-End und Back-End basiert, habe ich darüber nachgedacht, Egg zu verwenden, um Back-End-Dienste zu erstellen und eine Reihe von APIs zu schreiben Schnittstellen zur Zusammenarbeit mit anderen Projekten. Der Technologie-Stack dieses Projekts verwendet Egg.js, MongoDB und Mongoose. In diesem Artikel wird der Prozess des Schreibens des Registrierungs- und Anmeldemoduls sowie des User Center-Moduls aufgezeichnet. Der Zweck besteht darin, den Lernprozess zeitnah zusammenzufassen, Dokumentationsfähigkeiten zu üben, mit allen zu teilen und zu kommunizieren und gemeinsam Fortschritte zu erzielen.
Projektadresse: Egg-API
Wenn es Ihnen gefällt, klicken Sie bitte auf „Gefällt mir“, „Folgen“ und „Forken“. langfristig (._.) ✎_
Das Folgende ist der Text
Anforderungsanalyse
Für das Registrierungs- und Anmeldemodul lautet die Anforderungsanalyse wie folgt:
Registrieren Sie sich als neuer Benutzer und geben Sie die Daten ein.
Melden Sie sich beim System an. Sie müssen die Eingabedaten anhand der Token-Authentifizierung überprüfen
Abmeldefunktion
Anmelden, um persönliche Informationen im User Center-Modul anzuzeigen
Ändern Persönliche Informationen im User Center-Modul
Datenanalyse und -design
Explizite Daten:
Benutzername: String Benutzername
userPass: String Kontopasswort
userEmail: String Benutzer-E-Mail
telphone: String Mobiltelefonnummer
Avatar: String Avatar
Alter: Nummer Alter
Geschlecht: String Geschlecht
Stadt: String City
Implizite Daten:
userRole: Nummer der Benutzerrolle (1. Gewöhnlich Benutzer, 2. Administrator, 3. Superadministrator, Standardbenutzer Für normale Benutzer erstellt der Superadministrator es beim Erstellen der Datenbank)
userCreate: Datum der Benutzererstellungszeit
lastLoginTime: Datum der letzten Anmeldung
laseLoginPlace: String Letzte Anmeldeadresse
API-Analyse und Design
Die API in der Schnittstellenbeschreibung unten bezieht sich auf den Schnittstellennamen, Parameter bezieht sich auf die eingehenden Daten, Code bezieht sich auf den Identifikationscode des Antwortergebnisses, Nachricht bezieht sich auf die Beschreibung der Antwortergebnisinformationen, Daten beziehen sich auf die erfolgreich zurückgegebenen Daten Antwort
Registrierungsschnittstelle
api: /api/v1/signup (post) params: { userName: String, // 用户名,具有唯一性 userPass: String, // 用户密码 userEmail: String, // 用户邮箱 } code: 1、注册成功 0:输入信息不完善或有误 -1:注册失败,该用户名已存在 msg: 响应返回的信息说明 data: { _id: _id, userName: 用户名, token: 生成的token, }
Anmeldeschnittstelle
api: /api/v1/signin (post,请求头带token) params: { userName: String, // 用户名 userPass: String, // 用户密码 } code: 1、登录成功 0:输入信息不完善或有误 -1:用户不存在 msg: 响应返回的信息说明 data: { _id: _id, userName: 用户名, lastLoginTime: 上次登录时间, lastLoginPlace: 上次登录地点, }
Abmeldeschnittstelle
api: /api/v1/signout (get) code: 1、登出成功,前端退出系统并清空token msg: 登出响应返回信息说明 data: {}
Benutzeroberfläche für persönliche Informationen anzeigen
api: /api/v1/user/userName (post,请求头带token) params: { userName: String, } code: 1、查询成功 0、输入信息不完善 -1、查询失败 msg: 查找个人信息返回信息说明 data: { userName: 用户名, userEmail: 用户邮箱, age: 年龄, city: 城市, ...... }
Benutzeroberfläche für persönliche Informationen ändern
api: /api/v1/user/userName (put,token) params: { ...... // 更改的信息 } code: 1、更新成功 0、输入信息不完善或有误 -1、更新失败 msg: 更新个人信息返回信息说明 data: { userName: 用户名, ...... }
Kodierungsimplementierung
Hinweis: Es werden nur Anweisungen zur Kodierungsimplementierung bereitgestellt. Den vollständigen Inhalt finden Sie unter Egg-API
Gehen Sie davon aus, dass Sie ein Projekt und die Verzeichnisstruktur initialisiert haben des Projekts stimmt mit der offiziellen überein. Da wir die MongoDB-Datenbank verwenden möchten, müssen wir zuerst egg-mongoose installieren und in die Konfigurationsdatei schreiben:
// config/plugin.js exports.mongoose = { enable: true, package: 'egg-mongoose', }; // config/config.default.js config.mongoose = { url: 'mongodb://127.0.0.1/apiExample', options: {}, };
Definieren Sie unsere Schemadatei im Modellordner:
const UserSchema = new Schema({ userName: { type: String, unique: true, required: true, }, });
Routendefinition:
router.post('/api/v1/signup', controller.user.signup);
Controller-Schreiben: Wird verwendet, um Benutzereingaben zu analysieren und nach der Verarbeitung entsprechende Ergebnisse zurückzugeben. Wir können die erhaltenen Daten zum Rendern in Render einfügen und dann das gerenderte Ergebnis an den Browser senden, oder wir können die Daten direkt ctx.body zuweisen und sie dann im JSON-Modus zurückgeben.
class UserController extends Controller { // 登录 async signin() { const { ctx } = this; const rule = { userName: { type: 'string', required: true, message: '必填项' }, userPass: { type: 'string', required: true, message: '必填项' }, }; const signinMsg = ctx.request.body; await ctx.validate(rule, signinMsg); signinMsg.userPass = ctx.helper.encrypt(signinMsg.userPass); const result = await ctx.service.user.signin(signinMsg); ctx.body = result; } }
Dienstschreiben: Wird zum Schreiben der Geschäftslogikschicht verwendet und kann wiederverwendet werden. Für die Verarbeitung komplexer Daten müssen beispielsweise die anzuzeigenden Informationen aus der Datenbank bezogen oder der Dienst eines Drittanbieters aufgerufen werden.
class UserService extends Service { // 更新用户信息 async updateUser(userMsg) { const { ctx } = this; const res = {}; const result = await ctx.model.User.findByIdAndUpdate(userMsg._id, userMsg); res.code = 1; res.msg = '用户信息已更改'; res.data = result; return res; } }
Eine einfache Knotenanwendungsstruktur sieht so aus, sodass Egg.js für den Schnittstellendienst verantwortlich ist. Apache PHP MySQL
Verwandte Artikel:
So erstellen Sie einen Webserver mit Nodejs
Probleme beim Backend-Aufbau von Server-Unternehmens-Websites
Ähnliche Videos:
Video-Tutorial zum Aufbau eines Hochleistungs-Linux-Servers
Das obige ist der detaillierte Inhalt vonTechnischer Artikel: Verwenden Sie Egg.js zum Erstellen einer Backend-Service-API (Sammlungsreihe). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Um mit Navicat eine Verbindung zu MongoDB herzustellen, müssen Sie: Navicat installieren. Eine MongoDB-Verbindung erstellen: a. Geben Sie den Verbindungsnamen, die Hostadresse und den Port ein. b. Geben Sie die Authentifizierungsinformationen ein (falls erforderlich). Überprüfen Sie die Verbindung Speichern Sie die Verbindung

Go und Node.js weisen Unterschiede in der Typisierung (stark/schwach), der Parallelität (Goroutine/Ereignisschleife) und der Speicherbereinigung (automatisch/manuell) auf. Go hat einen hohen Durchsatz und eine geringe Latenz und eignet sich für Backends mit hoher Auslastung; Node.js eignet sich gut für asynchrone E/A und eignet sich für hohe Parallelität und kurze Anfragen. Praktische Beispiele für beide sind Kubernetes (Go), Datenbankverbindungen (Node.js) und Webanwendungen (Go/Node.js). Die endgültige Wahl hängt von den Anwendungsanforderungen, den Teamfähigkeiten und den persönlichen Vorlieben ab.

.NET 4.0 wird zum Erstellen einer Vielzahl von Anwendungen verwendet und bietet Anwendungsentwicklern umfangreiche Funktionen, darunter objektorientierte Programmierung, Flexibilität, leistungsstarke Architektur, Cloud-Computing-Integration, Leistungsoptimierung, umfangreiche Bibliotheken, Sicherheit, Skalierbarkeit, Datenzugriff und Mobilgeräte Entwicklungsunterstützung.

In einer serverlosen Architektur können Java-Funktionen in die Datenbank integriert werden, um auf Daten in der Datenbank zuzugreifen und diese zu bearbeiten. Zu den wichtigsten Schritten gehören: Erstellen von Java-Funktionen, Konfigurieren von Umgebungsvariablen, Bereitstellen von Funktionen und Testen von Funktionen. Durch Befolgen dieser Schritte können Entwickler komplexe Anwendungen erstellen, die nahtlos auf in Datenbanken gespeicherte Daten zugreifen.

In diesem Artikel wird vorgestellt, wie MongoDB im Debian -System konfiguriert wird, um eine automatische Expansion zu erzielen. Die Hauptschritte umfassen das Einrichten der MongoDB -Replikat -Set und die Überwachung des Speicherplatzes. 1. MongoDB Installation Erstens stellen Sie sicher, dass MongoDB im Debian -System installiert ist. Installieren Sie den folgenden Befehl: sudoaptupdatesudoaptinstall-emongoDB-org 2. Konfigurieren von MongoDB Replika-Set MongoDB Replikate sorgt für eine hohe Verfügbarkeit und Datenreduktion, was die Grundlage für die Erreichung der automatischen Kapazitätserweiterung darstellt. Start MongoDB Service: SudosystemctlstartMongodsudosysys

In diesem Artikel wird beschrieben, wie man eine hoch verfügbare MongoDB -Datenbank für ein Debian -System erstellt. Wir werden mehrere Möglichkeiten untersuchen, um sicherzustellen, dass die Datensicherheit und -Dienste weiter funktionieren. Schlüsselstrategie: ReplicaSet: Replicaset: Verwenden Sie Replikaten, um Datenreduktion und automatisches Failover zu erreichen. Wenn ein Master -Knoten fehlschlägt, wählt der Replikate -Set automatisch einen neuen Masterknoten, um die kontinuierliche Verfügbarkeit des Dienstes zu gewährleisten. Datensicherung und Wiederherstellung: Verwenden Sie den Befehl mongodump regelmäßig, um die Datenbank zu sichern und effektive Wiederherstellungsstrategien zu formulieren, um das Risiko eines Datenverlusts zu behandeln. Überwachung und Alarme: Überwachungsinstrumente (wie Prometheus, Grafana) bereitstellen, um den laufenden Status von MongoDB in Echtzeit zu überwachen, und

Ja, Navicat kann eine Verbindung zur MongoDB-Datenbank herstellen. Zu den spezifischen Schritten gehören: Öffnen Sie Navicat und erstellen Sie eine neue Verbindung. Wählen Sie den Datenbanktyp MongoDB aus. Geben Sie die MongoDB-Hostadresse, den Port und den Datenbanknamen ein. Geben Sie Ihren MongoDB-Benutzernamen und Ihr Passwort ein (falls erforderlich). Klicken Sie auf die Schaltfläche „Verbinden“.

Pinetwork startet Pibank, eine revolutionäre Mobile -Banking -Plattform! PiNetwork today released a major update on Elmahrosa (Face) PIMISRBank, referred to as PiBank, which perfectly integrates traditional banking services with PiNetwork cryptocurrency functions to realize the atomic exchange of fiat currencies and cryptocurrencies (supports the swap between fiat currencies such as the US dollar, euro, and Indonesian rupiah with cryptocurrencies such as PiCoin, USDT, and USDC). Was ist der Charme von Pibank? Lass uns herausfinden! Die Hauptfunktionen von Pibank: One-Stop-Management von Bankkonten und Kryptowährungsvermögen. Unterstützen Sie Echtzeittransaktionen und übernehmen Sie Biospezies
