php-Editor Baicao stellt Ihnen vor, wie Sie Parameter von der Middleware an den Controller übergeben. Während des Entwicklungsprozesses müssen wir häufig einige Parameter in der Middleware abrufen und diese Parameter dann zur weiteren Verarbeitung an den Controller übergeben. Um diese Funktionalität zu erreichen, können wir Parameter an den Controller übergeben, indem wir die with-Methode des $request-Objekts in der Middleware verwenden. Zuerst müssen wir die Parameter in der Middleware abrufen, dann die with-Methode des $request-Objekts verwenden, um die Parameter zum Anforderungsobjekt hinzuzufügen, und schließlich diese Parameter über die Eingabemethode des $request-Objekts im Controller abrufen. Auf diese Weise haben wir die Parameter erfolgreich von der Middleware an den Controller übergeben. Diese Methode ist einfach und leicht umzusetzen und entspricht unseren Bedürfnissen. Ich hoffe, diese Methode hilft Ihnen!
Ich baue eine Web-API mit dem Echo Labstack-Framework. Ich habe eine Middleware in meinem Weg, um die Benutzerauthentifizierung zu überprüfen, aber dann habe ich Probleme bei der Übergabe der Daten an den Controller und kann keine relevanten Informationen in Google und SO finden.
route.go
func Routes(e *echo.Echo) { e.(middlewareAuthorise) user := e.Group("/user") user.GET("/profile", controllers.UserProfile) } func middlewareAuthorise(next echo.HandlerFunc) echo.HandlerFunc { return func(c echo.Context) error { // Do some authentication here with access token and get user ID auth := controllers.Auth(c, 1) if auth["status"] != 200 { return c.JSON(401, map[string]any{"status": 401}) } user_id := auth["user_id"] // I want to pass user_id to my controllers return next(c, user_id) } }
controllers.go
func UserProfile(c echo.Context) error { // I want to get the user_id here from middleware return c.JSON(200, map[string]any{ "user_id": user_id, }) }
Ich habe den ganzen Tag mehrere Kombinationen gesucht und ausprobiert, kann aber nichts finden, was funktioniert. Wie kann ich Parameter von der Middleware am effizientesten an meinen Controller übergeben?
Sie können die Methode Set
和Get
des Kontexts verwenden.
Das obige ist der detaillierte Inhalt vonSo übergeben Sie Parameter von der Middleware an den Controller. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!