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

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

WBOY
Libérer: 2024-02-09 15:39:09
avant
816 Les gens l'ont consulté

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
Copier après la connexion

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

J'ai besoin

PUT /cats/milady/first-year/32312.jpg
Copier après la connexion

"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)
}
Copier après la connexion

Ensuite, je pourrai lire full-pathfolder

func uploadFile(c *gin.Context) {

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

    ....

    c.Status(http.StatusOK)
}
Copier après la connexion

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!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal