gin中multipart/urlencoded绑定
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()
}
gin中multipart/urlencoded绑定的更多相关文章
- gin中multipart/urlencoded表单
package main import ( "github.com/gin-gonic/gin" ) func main() { router := gin.Default() r ...
- gin中模型的绑定和验证
要将请求体绑定到结构体中,使用模型绑定. Gin目前支持JSON.XML.YAML和标准表单值的绑定(foo=bar&boo=baz). Gin使用 go-playground/validat ...
- jQuery中的事件绑定方法
在jQuery中,事件绑定方法大致有四种:bind(),live(), delegate(),和on(). 那么在工作中应该如何选择呢?首先要了解四种方法的区别和各自的特点. 在了解这些之前,首先要知 ...
- MVC中Action参数绑定的过程
一.题外话 上一篇:MVC中Action的执行过程 ControllerContext 封装有了与指定的 RouteBase 和 ControllerBase 实例匹配的 HTTP 请求的信息. 二. ...
- activity中实现Spinner绑定
(1)须要一个基本的布局文件activity_main <RelativeLayout xmlns:android="http://schemas.android.com/apk/re ...
- Jquery中的事件绑定$("#btn").bind("click",function(){ })
Jquery中的事件绑定:$("#btn").bind("click",function(){ }) 由于每次都这么调用太麻烦,所以jquery就用$(&qu ...
- Asp.net Mvc 中的模型绑定
asp.net mvc中的模型绑定可以在提交http请求的时候,进行数据的映射. 1.没有模型绑定的时候 public ActionResult Example0() { ) { string id ...
- AngularJS中数据双向绑定(two-way data-binding)
1.切换工作目录 git checkout step-4 #切换分支,切换到第4步 npm start #启动项目 2.代码 app/index.html Search: <input ng-m ...
- jQuery 中的事件绑定
一.事件概念 和数据库中的触发器一样,当操作了数据的时候会引发对应的触发器程序执行 一样,JS 中的事件就是对用户特定的行为作出相应的响应的过程,其实上就是浏览器 监听到用户的某些行为的时候会执行对应 ...
随机推荐
- 【LeetCode】1470. 重新排列数组 Shuffle the Array (Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode-cn ...
- 【LeetCode】1042. Flower Planting With No Adjacent 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 图 日期 题目地址:https://leetcode ...
- 【LeetCode】241. Different Ways to Add Parentheses 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 方法一:递归构建所有表达式 方法二:分而治之 日期 ...
- Interesting Yang Yui Triangle(hdu3304)
Interesting Yang Yui Triangle Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K ...
- 数据结构作业——P53页算法设计题(7):原地逆转链表
一. 题目描述: 设计一个算法,将链表中所有结点的链接方向"原地"逆转,即要求仅利用原表的存储空间,换句话说,要求算法的空间复杂度为O(1). 二.算法设计 #include< ...
- Winform中使用HttpClient与后端api服务进行交互
前端js可以使用ajax.axios发出http请求 在c#中winform.控制台等可以通过WebRequest.WebClient.HttpClient 有关三个类的性能对比大家可以自己搜一下,这 ...
- 小程序中使用、H5、uniapp下使用阿里巴巴iconfront图标或者新增图标
第一步:登录iconfont的账号,创建项目. 第二步:选择自己需要的图标,并添加入库(就是那个购物车的图标). 第三步:将选好的图片添加到项目.(点击上图中右上角的购物车图标). 第四步:下载资源到 ...
- HTML网页设计基础笔记 • 【第4章 CSS3基础】
全部章节 >>>> 本章目录 4.1 CSS 概述 4.1.1 CSS 简介 4.1.2 CSS3 基本语法 4.1.3 样式表的分类 4.2 CSS 基本选择器 4.2. ...
- Java中的关键字有哪些?「Java中53个关键字的意义及使用方法」
Java中的关键字有哪些? 1)48个关键字:abstract.assert.boolean.break.byte.case.catch.char.class.continue.default.do. ...
- 不同目录存在相同名称的py文件,执行时,报错的解决方法
1.问题现象如下,执行时报错 imported module 'test_case_execution' has this __file__ attribute platform win32 -- ...