Datenübertragung von Middleware zu Handlern
In der modernen Webentwicklung arbeiten Middleware und Handler oft zusammen, um Anfragen zu verarbeiten. Um die Duplizierung von Code zu vermeiden, ist die effektive Übertragung von Daten von der Middleware an Handler von entscheidender Bedeutung.
Stellen Sie sich das Szenario vor, in dem Middleware Daten abfängt und vorbereitet, z. B. beim Parsen von JWTs aus dem Anforderungstext. Durch die Weitergabe dieser geparsten Daten an Handler werden unnötige Duplikate vermieden.
Verwendung des Gorilla-Kontextpakets
Wenn Sie das Gorilla-Toolkit verwenden, nutzen Sie dessen Kontextpaket. Dadurch können Sie Daten aus dem Anforderungskontext festlegen und abrufen, ohne Methodensignaturen zu ändern.
// Middleware http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { // Middleware operations token := jwtParser(r) context.Set(r, "token", token) next.ServeHTTP(w, r) }) // Handler http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { token := context.Get(r, "token") })
Hinweis: Das Gorilla-Kontextpaket befindet sich jetzt im Wartungsmodus und es wird empfohlen, das zu verwenden nativer Go-Kontext.Context-Funktion eingeführt in Go 1.7.
Das obige ist der detaillierte Inhalt vonWie überträgt man Daten effektiv von der Middleware an die Handler in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!