Heim >Backend-Entwicklung >Golang >Wie werden Webseiten und API-Routen am selben Port mit unterschiedlichen Handle-Mustern in Go bereitgestellt?
Bereitstellen von Webseiten und API-Routen am selben Port mit unterschiedlichen Handle-Mustern
In einer Webanwendung, in der sowohl Webseiten als auch API-Routen benötigt werden Um auf demselben Port bereitgestellt zu werden, ist es möglich, dies mit dem Paket net/http zu erreichen, das von der Go-Standardbibliothek bereitgestellt wird. Das Schlüsselprinzip ist der Vorrang längerer Muster vor kürzeren.
Bedenken Sie den folgenden Codeausschnitt:
fs := http.FileServer(http.Dir("server/webapps/play_maths")) http.Handle("/", fs) // Serves static web pages from the specified directory http.Handle("/api", api.UserRoutes()) // Handles API routes using the UserRoutes function
In diesem Beispiel wird der Dateihandler für den Root-URL-Pfad „/“ registriert. ", was bedeutet, dass alle Anfragen verarbeitet werden, die keinem längeren Muster entsprechen. Der API-Routenhandler wird dann für den Pfad „/api“ registriert. Da „/api“ ein längeres Muster als „/“ ist, wird jede Anfrage, die mit „/api“ beginnt, an den API-Routen-Handler weitergeleitet, während alle anderen Anfragen an den Datei-Handler gehen.
Hinweis Es ist wichtig sicherzustellen, dass keine Dateien im Verzeichnis „/api“ vorhanden sind, da auf diese aufgrund der Vorrangregel nicht zugegriffen werden kann. Durch die Nutzung der Musterprioritätsfunktion ist es möglich, Webseiten und API-Routen auf demselben Port mit unterschiedlichen Handlern bereitzustellen.
Das obige ist der detaillierte Inhalt vonWie werden Webseiten und API-Routen am selben Port mit unterschiedlichen Handle-Mustern in Go bereitgestellt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!