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 サイトの他の関連記事を参照してください。