Maison > développement back-end > Golang > le corps du texte

Comment puis-je recevoir simultanément des données et des images JSON dans le framework Gin de Go ?

Barbara Streisand
Libérer: 2024-11-22 18:30:33
original
220 Les gens l'ont consulté

How Can I Receive JSON Data and Images Simultaneously in Go's Gin Framework?

Réception de données et d'images JSON avec le framework Go's Gin

Dans le framework Go's Gin, vous pouvez recevoir à la fois des données et des images JSON à l'aide de requêtes multipart/form-data. Voici comment :

type request struct {
    Avatar  *multipart.FileHeader `form:"avatar" binding:"required"`
    Payload struct {
        Username string `json:"username" binding:"required,min=4,max=20"`
        Desc    string `json:"description" binding:"required,max=100"`
    } `form:"payload" binding:"required"`
}
Copier après la connexion

Dans ce code, Avatar spécifie le fichier image, tandis que Payload définit les données JSON. Notez que les balises de liaison sont utilisées pour la validation des données.

Dans votre gestionnaire de requêtes, utilisez c.ShouldBindWith() pour lier les données entrantes à la structure de la requête :

func (h *Handlers) UpdateProfile() gin.HandlerFunc {
    return func(c *gin.Context) {
        var u request

        if err := c.ShouldBindWith(&u, binding.FormMultipart); err != nil {
            c.AbortWithStatusJSON(http.StatusBadRequest, gin.H{"error": err})
            return
        }

        // Process avatar and Payload data as needed...
    }
}
Copier après la connexion

En résumé, vous peut utiliser des requêtes multipart/form-data pour recevoir à la fois des données JSON et des images dans le framework Go's Gin. Utilisez c.ShouldBindWith() avec la liaison appropriée pour analyser le corps de la requête et accéder aux données.

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:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal