gin框架05--Multipart/Urlencoded 绑定

  • 介绍
  • 案例
  • 说明

介绍

本文介绍 gin中multipart/urlencoded绑定, 用户 post 指定数据后,如符合要求则给出对应的输出。

案例

代码

package mainimport ("github.com/gin-gonic/gin"
)type LoginForm struct {User     string `form:"user" binding:"required"`Password string `form:"password" binding:"required"`
}func main() {router := gin.Default()router.POST("/login", func(c *gin.Context) {// 你可以使用显式绑定声明绑定 multipart form:// c.ShouldBindWith(&form, binding.Form)// 或者简单地使用 ShouldBind 方法自动绑定:var form LoginForm// 在这种情况下,将自动选择合适的绑定if c.ShouldBind(&form) == nil {if form.User == "user" && form.Password == "password" {c.JSON(200, gin.H{"status": "you are logged in"})} else {c.JSON(401, gin.H{"status": "unauthorized"})}}})router.Run(":8080")
}

其中 form:“user” 表示前端提交form表单时User对应的key的名称为:user

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title>
</head>
<body>
<form action="http://localhost:8080/login" method="post" enctype="application/x-www-form-urlencoded">用户名<input type="text" name="user"><br>密码<input type="password" name="password"><input type="submit" value="提交">
</form>
</body>
</html>

测试

$ curl -v --form user=user --form password=password http://localhost:8080/login
*   Trying 127.0.0.1:8080...
...
<
* Connection #0 to host localhost left intact
{"status":"you are logged in"}$ curl localhost:8080/login --form user=user --form password=password1
{"status":"unauthorized"}

web 测试:

说明

goin官方文档 Multipart/Urlencoded 绑定
gin中multipart/urlencoded绑定

gin框架05--Multipart/Urlencoded 绑定相关推荐

  1. Gin 框架学习笔记(01)— 自定义结构体绑定表单、绑定URI、自定义log、自定义中间件、路由组、解析查询字符串、上传文件、使用HTTP方法

    要实现一个 API 服务器,首先要考虑两个方面:API 风格和媒体类型.Go 语言中常用的 API 风格是 RPC 和 REST,常用的媒体类型是 JSON.XML 和 Protobuf.在 Go A ...

  2. Gin 框架学习笔记(02)— 参数自动绑定到结构体

    参数绑定模型可以将请求体自动绑定到结构体中,目前支持绑定的请求类型有 JSON .XML .YAML 和标准表单 form数据 foo=bar&boo=baz 等.换句话说,只要定义好结构体, ...

  3. Go 语言 Gin 框架实战项目笔记

    Go 语言 Gin 框架实战 后端 Goland 操作 创建项目 运行项目 数据库操作 jwt.Response 配置管理 获取请求参数 数据验证 使用 UUID 前端 环境搭建 创建项目 ESLin ...

  4. Go Gin框架请求自动验证和数据绑定,看完这篇就会用了

    之前做项目基本上公司是用 gRPC 和 echo 这两个框架的组合,后来 Gin 框架在Go圈越来越流行,陆续我在公司接触到的项目也开始有人用 Gin 框架开发了. 因为我也是偶尔开发,像Gin框架里 ...

  5. gin框架06--Multipart/Urlencoded 表单

    gin框架06--Multipart/Urlencoded 表单 介绍 案例 注意事项 说明 介绍 本文主要介绍 gin 框架中的 Multipart/Urlencoded 表单.通过表单功能可以读出 ...

  6. gin框架长连接_gin框架教程一: go框架gin的基本使用

    gin框架教程代码地址: 我们在用http的时候一般都会用一些web框架来进行开发,gin就是这样的一个框架,它有哪些特点呢 一:gin特点 1.性能优秀 2.基于官方的net/http的有限封装 3 ...

  7. 【Gin框架】框架入门

    阅读目录 一.Gin 介绍 二.Gin 环境搭建 三.golang 程序的热加载 四.Gin 框架中的路由 4.1.路由概述 4.2.简单的路由配置 4.3.c.String().c.JSON().c ...

  8. golang中的gin框架学习

    gin框架中常用方法 gin.H{ } 有这么一行c.JSON(200, gin.H{"message": "use get method"}) 这其中有一个g ...

  9. Gin框架从入门到上手学习指南

    推荐一个Golang的学习站:Go中文学习文档 (halfiisland.com) Gin 官方文档:Gin Web Framework (gin-gonic.com) 仓库地址:gin-gonic/ ...

最新文章

  1. 在别的电脑上运行cg程序出现错误的解决办法
  2. Python正则表达式常用的15个符号整理
  3. 北航计算机梅澜,水江澜-北京航空航天大学材料科学与工程学院
  4. android.support.v7.app.ActionBarActivity
  5. tensorflow从入门到放弃(一)
  6. git ssh配置完后拉取代码_Git中SSH key配置秘钥生成和如何拉取代码
  7. Cocos2d-JS项目之UI界面的优化
  8. 团队二阶段冲刺个人工作总结2
  9. 对话鲁直:蚂蚁金服中间件的开源头羊 | 穿山甲专访
  10. 分析影响流媒体服务器性能的硬件瓶颈
  11. SpringBoot集成Actuator健康指示器health
  12. python中pep8规范_Python PEP8规范
  13. ubuntu16.04下ROS操作系统学习笔记(七 )机器语音-语音听写-科大讯飞SDK调用
  14. Illustrator 教程,如何在 Illustrator 中编组内容?
  15. Java annotation 自定义注释@interface的用法 转载记录
  16. MVC5+EF6--1 创建Entity Framework数据模型
  17. 流水线、超流水线、超标量(superscalar)技术对比(转)
  18. codeblocks20.03汉化版 附汉化补丁|codeblocks汉化版
  19. 迷宫问题的三种实现算法
  20. ubuntu服务器设置定时自动开关机

热门文章

  1. 什么东西改善睡眠,助眠好物分享
  2. JAVA静态变量是什么
  3. geth同步 retrieved hash chain is invalid 错误
  4. JS中parentNode和parentElement的区别
  5. 奇迹之秘:荣耀手机再度销量夺冠背后的三层增长动因
  6. 快速创建软件安装包-ClickOnce
  7. 关于如何绕开对通用VMware虚拟机检测的一些收集
  8. Expression 表达式动态生成
  9. 鸿蒙os苹果ios对比,华为鸿蒙OS与苹果iOS测试,谁更流畅,真实对比大家看一下...
  10. 流产以后吃什么好之四季篇