当前位置: 首页 > 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/48828/

相关文章:

  • 深圳做网站最好的公司放心的网站建设代理
  • 胶州哪里有做网站的哈尔滨网页案例分析
  • 橙色系网站wordpress 灯箱 插件
  • 网站注册网站违法吗网页制作简单教程
  • 企业网站建设的劣势wordpress mu 安装
  • 北京做网站的工作室青岛红岛做网站
  • 手机排行榜2024前十名最新百度seo排名优化是什么
  • 合肥网站建设西安商城类网站制作
  • 建设网站实训报告书成品网站源码1688免费推荐
  • 药业集团网站建设方案广东嵘通建设
  • 商丘网站建设流程中企动力网站icp备案通知
  • 手机网站会员中心模板下载建立网站的步骤是什么
  • 建立网站需要钱吗很多网站没排名了
  • 商标设计网站提供哪些服务wordpress互动
  • 廊坊网站建设哪家权威微信里的小程序在哪
  • 提高网站建设水平意见方案网站后台上传内容前台首页不显示
  • 建设网站的一般步骤定制微信小程序开发价格
  • 阜新网站建设单位视觉品牌网站建设
  • 金华建设技工学校网站删除wordpress搜索缓存
  • 微网站 获取手机号深圳网站建设制作设计平台
  • 怎么免费建个免费的站点广州网站提升排名
  • 苏州建站公司兴田德润i网址多少网上商城怎么购物
  • 网站开发需要什么资料济南网站制作案例
  • 鄞州区建设网站国内优秀的设计网站推荐
  • 营销类网站建营销类网站建设化妆品购物网站模板下载
  • 涿州市住房和城乡建设局网站微网站建设报价方案
  • 上海专业做网站公司网络推广的常用方法
  • 建设小说网站用什么软件下载网站备案主体域名
  • 湖北省住房与建设厅网站建设工程施工合同下载
  • 有像考试佳园一样做资料的网站吗wordpress 漂亮按钮