ホームページ > バックエンド開発 > Golang > Go の Jin フレームワークで JSON データと画像を同時に受信するにはどうすればよいですか?

Go の Jin フレームワークで JSON データと画像を同時に受信するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-22 18:30:33
オリジナル
276 人が閲覧しました

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

Go の Jin フレームワークを使用した JSON データと画像の受信

Go の Jin フレームワークでは、multipart/form-data リクエストを使用して JSON データと画像の両方を受信できます。方法は次のとおりです:

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"`
}
ログイン後にコピー

このコードでは、アバターは画像ファイルを指定し、ペイロードは JSON データを定義します。バインディング タグはデータ検証に使用されることに注意してください。

リクエスト ハンドラーで、c.ShouldBindWith() を使用して受信データをリクエスト構造体にバインドします。

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...
    }
}
ログイン後にコピー

要約すると、 multipart/form-dataリクエストを使用して、GoのGinフレームワークでJSONデータと画像の両方を受信できます。適切なバインディングで c.ShouldBindWith() を使用して、リクエスト本文を解析し、データにアクセスします。

以上がGo の Jin フレームワークで JSON データと画像を同時に受信するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート