gin中multipart/urlencoded绑定
2024-09-05 21:12:57
package main import (
"fmt"
"github.com/gin-gonic/gin"
"net/http"
) type LoginForm struct {
// form:"user" 表示前端提交form表单时User对应的key的名称为:user
// binding: "required" required表示前端必须传入该键才可以
User string `form:"user" binding:"required"`
Password string `form:"password" binding:"required"`
} func main() {
router := gin.Default()
router.POST("/login", func(c *gin.Context) {
var form LoginForm
// 你可以使用显示绑定声明绑定 multipart form
//if err := c.ShouldBindWith(&form, binding.Form); err == nil {
// 先校验用户传参是否符合LoginForm的校验约束
// 或者简单的使用ShouldBind方法自动绑定,在这种情况下将自动选择合适的绑定
if err := c.ShouldBind(&form); err == nil {
// 在校验传入的用户名密码是否正确
if form.User == "user" && form.Password == "password" {
c.JSON(http.StatusOK, gin.H{"status": "you are logged int"})
} else {
c.JSON(http.StatusUnauthorized, gin.H{"status": "Unauthorized"})
}
} else {
fmt.Println(err)
c.JSON(http.StatusBadRequest, gin.H{"key": "key error"})
}
})
router.Run()
}
最新文章
- STL库中的正态分布函数
- 慕课网-Java入门第一季-6-9
- 计算机病毒实践汇总四:netcat使用方法
- 详解Bootstrap进度条组件
- D&;F学数据结构系列——二叉排序树
- nsDATA 转结构体
- 内存中的static、const实现形式
- oracle删掉重复数据的语法
- CentOS下MySQL无法正常启动错误
- Hash表的扩容(转载)
- 对redux的理解
- RabbitMQ 笔记-RPC
- NightWatch端到端测试
- Yarn任务提交流程(源码分析)
- Bootstrap学习(一):Bootstrap简介
- 注意兼容浮点运算误差 0.7 + 0.1 ==0.8 为false
- chrome浏览器的SwitchyOmega插件使用方法
- day22-python操作mysql2
- 较老版本 AFNetworking 使用心得
- iOS 开发-Certificate、App ID和Provisioning Profile之间的关系
热门文章
- 【LeetCode】101. Symmetric Tree 对称二叉树(Java & Python)
- 【LeetCode】910. Smallest Range II 解题报告(Python & C++)
- 【LeetCode】43. Multiply Strings 解题报告(Python & C++)
- MySQL中视图的定义、原理--触发器
- RabbitMQ学习笔记二:Java实现RabbitMQ
- 【C#】C#中使用GDAL3(三):Windows下编译插件驱动
- 项目启动报错怎么办?看看你Spring自动注入用对了嘛?@Autowired XxxService注入问题解决
- 编写Java程序,创建一个 XML 文档,文档名为“hero.xml”,用于保存“王者荣耀”的英雄信息。
- 编写Java程序,使用JFrame创建一个窗体
- Ranger知识地图