Maison  >  Article  >  développement back-end  >  Go gin : Comment lire plusieurs segments d'itinéraire ?

Go gin : Comment lire plusieurs segments d'itinéraire ?

WBOY
WBOYavant
2024-02-09 15:39:09750parcourir

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

l'éditeur php Baicao vous propose un tutoriel pratique sur le framework Go gin - "Go gin : Comment lire plusieurs segments de route ?". Lorsque nous utilisons Go gin pour le développement Web, nous devons souvent lire les paramètres de plusieurs segments de route. Cet article présentera en détail comment implémenter cette fonction via le framework Go gin. Que vous soyez débutant ou développeur expérimenté, ce tutoriel peut vous aider à mieux comprendre et appliquer le framework Go gin et à améliorer votre efficacité de développement. Explorons ensemble !

Contenu de la question

J'ai ajouté la route PUT /:folder pour créer le dossier

J'ai besoin d'un PUT /:folder/:path/to/final/file lorsque l'utilisateur publie un nouveau fichier. J'ai donc la racine dans le premier paramètre mais je ne sais pas comment créer une route qui gère un nombre de segments de route et la lire comme une seule chaîne

Par exemple, appelez

PUT /cats

Un dossier nommé chats sera créé. Cela fonctionne déjà

J'ai besoin

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

"chats" reconnus comme premier paramètre, qui est mon dossier de niveau utilisateur Ensuite, cochez mylady/firstyear comme sous-dossier imbriqué et créez-le si nécessaire

et nom du fichier 32312.jpg

Comment utiliser le gin pour définir l'itinéraire ? Place

Solution

J'ai trouvé la réponse.

Je peux créer des groupes donc sous le groupe je peux utiliser un astérisque pour "niveau de chemin non défini"

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

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

Ensuite, je pourrai lire full-pathfolder

func uploadFile(c *gin.Context) {

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

    ....

    c.Status(http.StatusOK)
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer