golang gin数据绑定综合案例:实现用户注册相关数据绑定
2023-09-14 09:01:53 时间
package main
import "github.com/gin-gonic/gin"
type LoginForm struct {
UserName string `json:"username" binding:"required,min=3,max=7"`
Password string `json:"password" binding:"required,len=8"`
RePassword string `json:"re_password" binding:"required,len=8"`
}
type RegisterSerializer struct {
}
type RegisterResponse struct {
}
type RegisterForm struct {
UserName string `json:"username" binding:"required,min=3,max=7"`
Password string `json:"password" binding:"required,len=8"`
Age uint32 `json:"age" binding:"required,gte=1,lte=150"`
Sex uint32 `json:"sex" binding:"required"`
Email string `json:"email" binding:"required,email"`
}
func main() {
r := gin.Default()
// 登录
r.POST("login", loginHandler)
// 注册
r.POST("register", registerHandler)
r.Run()
}
// registerHandler 注册
func registerHandler(c *gin.Context) {
var r RegisterForm
if err := c.ShouldBindJSON(&r); err != nil {
c.JSON(200, gin.H{
"code": 40002,
"msg": "注册失败,请检查参数",
"err": err.Error(),
})
return
}
// 注册成功
c.JSON(200, gin.H{
"code": 0,
"msg": "success",
"data": r,
})
}
// loginHandler 登录
func loginHandler(c *gin.Context) {
var l LoginForm
if err := c.ShouldBindJSON(&l); err != nil {
c.JSON(200, gin.H{
"code": 40001,
"msg": "登录失败,请检查参数",
"err": err.Error(),
})
return
}
// 登录成功
c.JSON(200, gin.H{
"code": 0,
"msg": "success",
"data": l.UserName,
})
}
相关文章
- APICloud案例源码、模块源码、考试源码、开发工具大集合!赶快收藏
- ssm使用全注解实现增删改查案例——Dept
- Mybatis+mysql动态分页查询数据案例——工具类(MybatisUtil.java)
- Mybatis+mysql动态分页查询数据案例——测试类HouseDaoMybatisImplTest)
- Mybatis+mysql动态分页查询数据案例——测试类HouseDaoMybatisImplTest)
- Mybatis+mysql动态分页查询数据案例——Mybatis的配置文件(mybatis-config.xml)
- 大数据应用之HBase数据插入性能优化之多线程并行插入测试案例
- identity4 系列————纯js客户端案例篇[四]
- Math之ARIMA:基于statsmodels库利用ARIMA算法对太阳黑子年数据(来自美国国家海洋和大气管理局)实现回归预测(ADF检验+LB检验+DW检验+ACF/PACF图)案例
- ML之ME:分类预测问题中评价指标(AP/mAP)的简介、使用方法、代码实现、案例应用之详细攻略
- Database之SQL:SQL语句操作三类(数据定义语句DDL/数据操作语句DML/数据控制语句DCL/其他基本语句、流程控制语句、批处理语句)概念及其代码实现案例之详细攻略
- DataScience:数据预处理/特征工程之两大类别特征、四大数据类型(数值型/类别型/字符串型/时间型简介、代码实现(数值型特征离散化/类别型特征编码数字化)、案例应用之详细攻略
- CV之IPE之PoseEstimation:Pose Estimation人体姿态估计的简介(AI识人,OpenPose+DeepCut+RMPE+Mask RCNN)、案例应用(活动识别)之详细攻略
- DL:基于keras和tensorflow 框架保存网络结构/网络拓扑图/网络模型(json、yaml、h5等文件)注意事项及代码实现(保存和加载.h5模型文件案例)之详细攻略
- ML之CF:基于自定义用户-物品评分数据集利用基于用户协同过滤算法(余弦相似度)实现对用户进行产品推荐案例
- AutoML之flaml:基于OpenML数据集利用flaml框架自定义RGF算法/自定义优化指标来自动寻优实现预测航班是否延误二分类任务案例之详细攻略
- ML之shap:基于boston波士顿房价回归预测数据集利用Shap值对LiR线性回归模型实现可解释性案例
- DL之NRL&GCN:网络表示学习NRL与图神经网络GNN的简介、应用、经典案例之详细攻略
- OpenCV-PyQT项目实战(11)项目案例07:摄像头操作与拍摄视频
- HTML+CSS实现商品介绍模考(以Apple14为案例)