In dem Unternehmen, in dem ich als Software-Ingenieur arbeite, sind wir gerade dabei, eine API zu entwickeln, die mit unseren Microservices kommuniziert und sowohl von unseren eigenen Produkten als auch von uns verwendet wird eine API, die unsere Kunden nutzen können. Unser entscheidender Faktor für die Wahl von Golang war die Geschwindigkeit. Neben einer schnellen Ausführungszeit bietet Go auch einen geringen Speicherverbrauch und eine effiziente Parallelität.
Als es um den ersten Schritt der Spezifikation der Endpunkte ging, suchten wir nach einer Lösung, dies im Code zu tun, da wir eine Diskrepanz zwischen Code und Dokumentation vermeiden wollten. Unser CEO hatte den gleichen Ansatz mit Python FastApi verwendet, also haben wir nach einer FastApi-Lösung für Go gegoogelt und sind auf Huma gestoßen. Mit Huma kann man automatisch OpenAPI-Dokumentation aus Code generieren und mithilfe von Ampelelementen eine gut aussehende Dokumentation erstellen. Es generiert das JSON-Schema aus Go-Typen und verwendet statische Typisierung für Pfad-/Abfrage-/Header-Parameter, Körper, Antwortheader usw. Es führt automatisch eine Eingabemodellvalidierung und Fehlerbehandlung basierend auf dem JSON-Schema durch.
Wir fanden das Framework ziemlich flexibel und es ermöglicht beispielsweise die Verwendung des eigenen Routers, obwohl wir einfach bei Chi geblieben sind, das es als Standard verwendet. Es gibt einige Nachteile, zum Beispiel scheint es keine Array-Abfrageparameter zu unterstützen, daher trennen wir die Filter durch Kommas. Aber das war kein Dealbreaker.
Ich habe vor, in zukünftigen Beiträgen mehr über meine Erfahrungen und Erkenntnisse mit Go Huma zu schreiben, aber bisher habe ich festgestellt, dass es seinen Zweck erfüllt.
Das obige ist der detaillierte Inhalt vonWarum wir uns für das Go Huma-Framework zur Entwicklung unserer API-Endpunkte entschieden haben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!