当前位置: 首页 > news >正文

网站专题页怎么做鄂尔多斯市建设厅网站

网站专题页怎么做,鄂尔多斯市建设厅网站,同城信息商家的网站开发,百青藤广告联盟controller 模型绑定与参数校验 gin框架提供了多种方法可以将请求体的内容绑定到对应struct上,并且提供了一些预置的参数校验 绑定方法 根据数据源和类型的不同,gin提供了不同的绑定方法 Bind, shouldBind: 从form表单中去绑定对象BindJSON, shouldB…

controller 模型绑定与参数校验

gin框架提供了多种方法可以将请求体的内容绑定到对应struct上,并且提供了一些预置的参数校验

绑定方法

根据数据源和类型的不同,gin提供了不同的绑定方法

  • Bind, shouldBind: 从form表单中去绑定对象
  • BindJSON, shouldBindJSON: 这两个方法是从json表单中去绑定对象
  • 还有从xml,protobuf等等
参数校验

gin提供了一系列预置的参数校验,可以参考官方文档。 用binding 标签

  • required 必须参数

  • number 要求数字

  • omitempty 允许为空

  • email 邮件格式

等等

实例
package courseimport ("github.com/gin-gonic/gin""net/http"
)func InitRouters(r *gin.Engine) {//使用路由分组api := r.Group("api")initCourse(api)
}func initCourse(group *gin.RouterGroup) {// 路由分组v1 := group.Group("/v1"){// /api/v1/course// 路径携带参数v1.GET("/course/search/:id", course.Get)v1.POST("/course/add/:id", course.Add)v1.PUT("/course/edit/:id", course.Edit)v1.DELETE("/course/del", course.Delete)}
}// 模型绑定, gin 引用了 validator,有一些预置标签
type course struct {Name string 		`json:"name"     form:"name" binding:"required"`Teacher string		`json:"teacher"  form:"teacher" binding:"required"`Duration int		`json:"duration" form:"duration" binding:"number"`
}func Add(c *gin.Context) {req := &course{}// 从form表单去绑定 c.Bind() c.ShouldBind()// 从json里去取值 c.BindJSON()// 带should的bind 可以去返回错误,不带的会直接响应请求err := c.ShouldBindJSON(req)if err != nil {c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error(),})return}c.JSON(http.StatusOK, req)
}func Get(c *gin.Context) {// 获取路径上的参数id := c.Param("id")// 都是gin.context作为入参c.JSON(http.StatusOK, gin.H{"method": c.Request.Method,"path": c.Request.URL.Path,"id": id,})
}func Edit(c *gin.Context) {req := &course{}err := c.ShouldBindJSON(req)if err != nil {c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error(),})return}c.JSON(http.StatusOK, gin.H{"method": c.Request.Method,"path": c.Request.URL.Path,"req": req,})
}func Delete(c *gin.Context) {// 从queryString 获取id := c.Query("id")// 都是gin.context作为入参c.JSON(http.StatusOK, gin.H{"method": c.Request.Method,"path": c.Request.URL.Path,"id": id,})
}
测试

在这里插入图片描述

http://www.yayakq.cn/news/409502/

相关文章:

  • 网站做tips国外企业网页设计
  • 做任务悬赏网站有什么网站可以接淘宝设计单做
  • 卖鞋做哪个网站好邮件网站怎么做
  • 定制型网站开发免费的优质网站
  • 云一网站建设东莞大型企业
  • 国外简约网站dw网页制作教程简单
  • 松江网站建设平台网站开发是做什么
  • 进入网络管理的网站网站支持qq登录怎么做
  • 网站建设捌金手指下拉二七嘉兴专业自助建站免费咨询
  • 自建电商网站销售商品wordpress注册简化
  • 阅读网站源码三乡网站建设公司
  • 建设一个公司网站大概多少钱如何策划手机网站
  • 企业网站帮助中心ui设计参考网站
  • 南华大学城市建设学院网站新加坡网站域名
  • html 如何嵌入网站页面荥阳市城乡规划和建设局网站
  • 建设网站好公司哪家好室内平面设计软件
  • 杭州网站建设h5广告平面设计基础知识
  • 设计网站如何融入非关系数据库163企业邮箱费用多少
  • 网站建设流程有wordpress ico不显示
  • 企业营销型网站建设方案购买一个网站域名需要多少钱
  • 高港做网站红河州seo怎么做整站排名
  • qq免费搭建网站意见反馈的网站怎么做
  • 巴里坤网站建设省建设干部培训中心网站
  • 西安竞价推广托管360优化大师旧版本
  • 智能科技 光速东莞网站建设自己怎样建设网站首页
  • 做网站需要到哪些部门登记京东企业集团网站建设方案
  • 昌邑建设网站html页面添加wordpress
  • 网站建设的费用是不是含税的长沙个人做网站排名
  • 如何建设微商网站网站备案查询
  • 免费网站建设绑定域名素材网有哪些