Categories: Gin 教程

Gin 参数绑定

为了能够更方便的获取请求相关参数,提高开发效率,我们可以使用ShouldBind,它能够基于请求自动提取JSON,Form表单,Query等类型的值,并把值绑定到指定的结构体对象,具体使用方法如下

package main

import (
 "fmt"
 "net/http"
 "github.com/gin-gonic/gin"
)

type Userinfo struct {
 Username string `form:"username"`
 Password string `form:"password"`
}

func main() {
 r := gin.Default()
 r.GET("/user", func(c *gin.Context) {
  var u Userinfo
  err := c.ShouldBind(&u)
  if err != nil {
   c.JSON(http.StatusBadGateway, gin.H{
    "error": err.Error(),
   })
  } else {
   c.JSON(http.StatusOK, gin.H{
    "status": "ok",
   })
  }
  fmt.Printf("%#v
", u)
 })
 r.Run()
}

ShouldBind会按照以下顺序解析请求中的数据并完成绑定:

  • 如果是GET请求,只使用Form绑定引擎(Query)
  • 如果是POST请求,首先检查content-type是否为JSON或XML,然后再使用Form(form-data)

admin

这个人很懒,什么都没有留下~

Share
Published by
admin

Recent Posts

vue:页面注入js修改input值

一般会直接这样写: let z…

5 小时 ago

聊聊vue3中的defineProps

在Vue 3中,defineP…

1 周 ago

在 Chrome 中删除、允许和管理 Cookie

您可以选择删除现有 Cooki…

2 周 ago

自定义指令:聊聊vue中的自定义指令应用法则

今天我们来聊聊vue中的自定义…

3 周 ago

聊聊Vue中@click.stop和@click.prevent

一起来学下聊聊Vue中@cli…

4 周 ago

Nginx 基本操作:启动、停止、重启命令。

我们来学习Nginx基础操作:…

1 月 ago