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!
Frageninhalt
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?
Problemumgehung
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!

Artikel erläutert die Iteration durch Karten in Go, konzentriert sich auf sichere Praktiken, Änderungen von Einträgen und Leistungsüberlegungen für große Karten.

In dem Artikel wird das Erstellen und Manipulieren von Karten in GO, einschließlich Initialisierungsmethoden und Hinzufügen/Aktualisieren von Elementen, erläutert.

Der Artikel erörtert Unterschiede zwischen Arrays und Scheiben in Go und konzentriert sich auf Größe, Speicherzuweisung, Funktionsübergabe und Nutzungsszenarien. Arrays sind fest und stapelalloziert, während die Scheiben dynamisch, häufig zugeteilt und flexibler sind.

In dem Artikel wird das Erstellen und Initialisieren von Scheiben in GO erörtert, einschließlich der Verwendung von Literalen, der Make -Funktion und dem Schneiden vorhandener Arrays oder Scheiben. Es deckt auch die Slice -Syntax und die Bestimmung der Scheibenlänge und -kapazität ab.

In dem Artikel wird erläutert, wie Arrays in GO erstellt und initialisiert werden, die Unterschiede zwischen Arrays und Scheiben erörtert und die maximale Größengrenze für Arrays angesprochen. Arrays vs. Slices: Fixes vs. Dynamic, Wert vs. Referenztypen.

In Artikel werden die Syntax und Initialisierung von Strukturen in GO, einschließlich der Namensberechnung von Feldnamen und Struktureinbettung, erörtert. Hauptproblem: So verwenden Sie Strukturen in Go -Programmierung effektiv. (Zeichen: 159)

Der Artikel erläutert das Erstellen und Verwenden von Zeigern in Go und diskutiert Vorteile wie effiziente Speicherverbrauch und sichere Verwaltungspraktiken. Hauptproblem: Safe Zeiger Verwendung.

In dem Artikel werden die Vorteile der Verwendung von GO (Golang) in der Softwareentwicklung erörtert, wobei der Schwerpunkt auf der Unterstützung von Parallelität, schneller Zusammenstellung, Einfachheit und Skalierbarkeit liegt. Zu den wichtigsten Branchen gehören Technologie, Finanzen und Spiele.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

SecLists
SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

SublimeText3 Englische Version
Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!
