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

三十四、模型绑定与验证

目录

定义:

一、整体代码

结果


定义:

模型绑定意味着将请求数据直接绑定到go的结构体中,然后进行输入或输出的验证

一、整体代码

// 请求
type HelloReq struct {Name string `json:"name" binding:"required"`
}// 返回
type HelloRsp struct {Msg string `json:"msg" binding:"required"`
}func (c *CmsApp) Hello(ctx *gin.Context) {//定义req为HelloReq结构体var req HelloReq//请求绑定req,当请求体中不包含name则会报错并返回if err := ctx.ShouldBindJSON(&req); err != nil {ctx.JSON(http.StatusBadRequest, gin.H{"err": err.Error()})return}//返回rsp,返回接收到的数据体ctx.JSON(http.StatusOK, gin.H{"code": http.StatusOK,"msg":  "hello","data": &HelloRsp{Msg: fmt.Sprintf("name is %s", req.Name),},})
}
结果
{"code": 200,"data": {"msg": "name is luckey"},"msg": "hello"
}

故意输错name变为names

则会报错

{"err": "Key: 'HelloReq.Name' Error:Field validation for 'Name' failed on the 'required' tag"
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 客户端负载均衡Ribbon 小实例
  • 足球预测可以人工智能AI吗
  • c++ codedump文件输出具体出错位置
  • 汇聚创意精英?西安数字影像产业园如何实现这一壮举?
  • 三分钟带你看懂,低代码开发赋能办公方式转变
  • JAVA代码审计(基础漏洞:SQL注入、XXE、XSS、反序列化、CSRF、文件上传、逻辑漏洞、SSRF、命令执行)
  • C#-使用Serilog框架快速实现日志及其相关扩展
  • 24年最新版pycharm找不到conda可执行文件解决办法(简单完美解决)
  • 你的代码真的安全吗?经验告诉你怎么做
  • stm32之SPI通信协议
  • fpga入门名词(1)
  • 分布式共识(一致性)算法(协议) Paxos 简介
  • TS中的装饰器
  • Win电脑使用Ollama与Open Web UI搭建本地大语言模型运行工具
  • 第三届828 B2B企业节开幕,大腾智能携手华为云共谱数字化新篇章
  • 2017年终总结、随想
  • android 一些 utils
  • C++类的相互关联
  • ES6, React, Redux, Webpack写的一个爬 GitHub 的网页
  • express.js的介绍及使用
  • HTTP--网络协议分层,http历史(二)
  • Javascript基础之Array数组API
  • k8s 面向应用开发者的基础命令
  • laravel5.5 视图共享数据
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • Python爬虫--- 1.3 BS4库的解析器
  • React-Native - 收藏集 - 掘金
  • Spring框架之我见(三)——IOC、AOP
  • sublime配置文件
  • TiDB 源码阅读系列文章(十)Chunk 和执行框架简介
  • 记录:CentOS7.2配置LNMP环境记录
  • 区块链将重新定义世界
  • 网页视频流m3u8/ts视频下载
  • 由插件封装引出的一丢丢思考
  • 在Mac OS X上安装 Ruby运行环境
  • 最简单的无缝轮播
  • ​【数据结构与算法】冒泡排序:简单易懂的排序算法解析
  • # 安徽锐锋科技IDMS系统简介
  • #android不同版本废弃api,新api。
  • #if和#ifdef区别
  • $.ajax()方法详解
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (二)PySpark3:SparkSQL编程
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)
  • .net core 的缓存方案
  • .net core 控制台应用程序读取配置文件app.config
  • .net dataexcel 脚本公式 函数源码
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • .NET6 命令行启动及发布单个Exe文件
  • .NET国产化改造探索(三)、银河麒麟安装.NET 8环境
  • .net和jar包windows服务部署
  • .NET框架设计—常被忽视的C#设计技巧
  • .Net中wcf服务生成及调用