Heim > Backend-Entwicklung > Golang > Wie werden Webseiten und API-Routen am selben Port mit unterschiedlichen Handle-Mustern bereitgestellt?

Wie werden Webseiten und API-Routen am selben Port mit unterschiedlichen Handle-Mustern bereitgestellt?

Susan Sarandon
Freigeben: 2024-11-23 08:11:10
Original
620 Leute haben es durchsucht

How to Serve Web Pages and API Routes on the Same Port with Different Handle Patterns?

Bereitstellen von Webseiten und API-Routen am selben Port mit unterschiedlichen Handle-Mustern

In einem Webanwendungsszenario kann es praktisch sein, sowohl statische Webseiten als auch API bereitzustellen Routen auf derselben Portadresse. Dies ermöglicht eine optimierte Architektur und eine effiziente Ressourcennutzung. Um dies mit unterschiedlichen Griffmustern zu erreichen, befolgen Sie diese Schritte:

1. Dateihandler registrieren

Registrieren Sie einen Dateiserver, um statische Dateien bereitzustellen. In diesem Beispiel wird es verwendet, um Dateien aus dem Verzeichnis „server/webapps/play_maths“ im Stammpfad (/) bereitzustellen:

fs := http.FileServer(http.Dir("server/webapps/play_maths"))
http.Handle("/", fs)
Nach dem Login kopieren

2. API-Handler registrieren

Erstellen Sie einen Router für die Verarbeitung von API-Routen. In diesem Fall definiert UserRoutes() Routen zum Erstellen von Benutzern und zum Abrufen aller Benutzer:

func UserRoutes() *mux.Router {
    router := mux.NewRouter().StrictSlash(true)
    router.HandleFunc("/user/create", api.CreateUser)
    router.HandleFunc("/user/get/all", api.GetAllUsers)
    return router
}
Nach dem Login kopieren

3. API-Handler an Pfad anhängen

Registrieren Sie den API-Router in einem bestimmten Root-Pfad, z. B. „/api/“. Dadurch wird sichergestellt, dass alle Anfragen, die mit „/api/“ beginnen, von den API-Routen verarbeitet werden:

http.Handle("/api/", UserRoutes())
Nach dem Login kopieren

Hinweis: Die Reihenfolge der Routenregistrierung ist wichtig. Längere Muster haben Vorrang vor kürzeren. Daher ist es wichtig, die spezifischeren API-Routen vor dem allgemeinen Dateihandler zu registrieren. Dadurch wird verhindert, dass Anfragen an die API-Routen vom Dateihandler abgefangen werden.

Durch Befolgen dieser Schritte können Sie sowohl statische Webseiten als auch API-Routen an derselben Portadresse bereitstellen und dabei unterschiedliche Handle-Muster beibehalten. Dies bietet Flexibilität und verbessert die Leistung, indem der Bedarf an mehreren Serverinstanzen reduziert wird.

Das obige ist der detaillierte Inhalt vonWie werden Webseiten und API-Routen am selben Port mit unterschiedlichen Handle-Mustern bereitgestellt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage