Heim >Backend-Entwicklung >Golang >Elegante Implementierung der Golang REST API-Architektur
Es gibt ein Sprichwort, dass die in Golang geschriebene API nicht so einfach und universell sein kann wie andere Sprachen. Aber in Wirklichkeit bin ich auf viel REST-API-Code mit vielen Abstraktionen gestoßen, was die Codebasis verwirrend und komplex machte und letztendlich die Lesbarkeit und Wartbarkeit beeinträchtigte.
In dieser Serie erfahren Sie, wie Sie eine REST-API-TODO-Liste auf Produktebene erstellen, eine nachhaltige Erweiterungsarchitektur, beginnend mit Routing- und Codeschnittstellen, dann das Hinzufügen einer Mongo-Datenbank und einer Badger-Datenschicht dann Ist die Autorisierungsprotokollschicht (OAuth 2.0)
In dieser Serie verwenden wir Chi-Routing.
Nun, eigentlich spielt es keine Rolle, wofür Sie sich entscheiden. Unabhängig davon, was Sie für das Routing verwenden, werden die in dieser Serie besprochenen Konzepte nützlich sein. Aber es gibt die folgenden Vorteile, die mich glauben lassen, dass Chi-Router den meisten Alternativen überlegen ist:
und net/http
100 % kompatibel mit der Standardbibliothek --- verfügbar im Go-Ökosystem Verwenden Sie jedes Net/http-kompatible http- oder Middleware-Paket 🎜>
Der obige Code steht im Mittelpunkt einiger Best Practices
Verwenden Sie ein separates Paket Implementieren Sie die Routing-Logik, gruppieren Sie sie und mounten Sie sie dann:
r.Mount("/api/todo", todo.Routes())Der Handler hat die Funktionssignatur , was bedeutet, dass sich der Handler nicht von der Art und Weise unterscheidet, wie Sie net/http mit der Standardbibliothek schreiben.
Verwenden Sie render.JSON, einen Encoding/JSON-Wrapper, der automatisch den gesamten HTML-Code in Ihrer JSON-Antwort maskiert und den Inhaltstyp auf application/json setztfunc (w http.ResponseWriter,r *http.Request)
In unserem nächsten Artikel dieser Reihe werden wir weiterhin die Konfiguration und den gemeinsamen Status unterstützen. Die meisten Projekte erfordern normalerweise zusätzliche Konfigurationen, z. B. Datenbankverbindungen usw. Wir werden dies im nächsten Artikel besprechen.
Empfohlenes Tutorial: „Go Tutorial“
Das obige ist der detaillierte Inhalt vonElegante Implementierung der Golang REST API-Architektur. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!