Heim  >  Artikel  >  Backend-Entwicklung  >  Go Gin: Wie lese ich mehrere Routensegmente?

Go Gin: Wie lese ich mehrere Routensegmente?

WBOY
WBOYnach vorne
2024-02-09 15:39:09793Durchsuche

Go gin:如何读取多个路线段?

php-Editor Baicao bietet Ihnen ein praktisches Tutorial zum Go-Gin-Framework – „Go-Gin: Wie lese ich mehrere Routensegmente?“. Wenn wir Go Gin für die Webentwicklung verwenden, müssen wir häufig die Parameter mehrerer Routensegmente lesen. In diesem Artikel wird detailliert beschrieben, wie diese Funktion über das Go-Gin-Framework implementiert wird. Egal, ob Sie Anfänger oder erfahrener Entwickler sind, dieses Tutorial kann Ihnen helfen, das Go-Gin-Framework besser zu verstehen und anzuwenden und Ihre Entwicklungseffizienz zu verbessern. Lasst uns gemeinsam erkunden!

Frageninhalt

Ich habe die Route PUT /:folder hinzugefügt, um den Ordner zu erstellen

Ich benötige einen PUT /:folder/:path/to/final/file für den Fall, dass der Benutzer eine neue Datei postet. Ich habe also die Wurzel im ersten Parameter, weiß aber nicht, wie ich eine Route erstellen kann, die 'n' Routensegmente verarbeitet, und sie als einzelne Zeichenfolge liest

Zum Beispiel anrufen

PUT /cats

Ein Ordner mit dem Namen cats wird erstellt. Das funktioniert schon

Ich brauche

PUT /cats/milady/first-year/32312.jpg

Erkannte „Katzen“ als ersten Parameter, bei dem es sich um meinen Ordner auf Benutzerebene handelt Überprüfen Sie dann mylady/firstyear als verschachtelten Unterordner und erstellen Sie ihn nach Bedarf

und 32312.jpg-Dateiname

Wie verwende ich Gin, um die Route festzulegen? Ort

Lösung

Ich habe die Antwort gefunden.

Ich kann Gruppen erstellen, sodass ich unter der Gruppe ein Sternchen für „undefinierte Pfadebene“ verwenden kann

superGroup := router.Group("/:folder")
{
        
    // Create a folder
    superGroup.PUT("", createFolder)

    // Save file into folder
    superGroup.PUT("/*full-path", uploadFile)
}

Dann kann ich lesen full-pathfolder

func uploadFile(c *gin.Context) {

    folder:= c.Param("folder")
    fullPath := c.Param("full-path")

    ....

    c.Status(http.StatusOK)
}

Das obige ist der detaillierte Inhalt vonGo Gin: Wie lese ich mehrere Routensegmente?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen