gin Http请求Body和Header的获取 request post form Query header
gin Http请求Body和Header的获取 request post form Query header
请求参数
POST /post?id=1234&page=1 HTTP/1.1
Content-Type: application/x-www-form-urlencoded
test: test
name=manu&message=this_is_great
服务端代码
package main
import (
"fmt"
"github.com/gin-gonic/gin"
"io/ioutil"
)
func main() {
router := gin.Default()
router.POST("/test", func(c *gin.Context) {
// 查询请求URL后面拼接的参数
id := c.Query("id")
//查询请求URL后面的参数,如果没有填写默认值
page := c.DefaultQuery("page", "0")
// 从表单中查询参数
name := c.PostForm("name")
//从取得URL中参数,此处URL中没有name字段
name = c.Param("name")
// 从表单中查询参数,,如果没有就获取默认值
message := c.DefaultPostForm("message", "default")
// 获取Body值
bodyBytes, _ := ioutil.ReadAll(c.Request.Body)
// 获取header指定字段
headerTest := c.Request.Header.Get("test")
for k, v := range c.Request.Header {
fmt.Println(k, v)
}
fmt.Printf("id: %s; page: %s; name: %s; message: %s; header_test:%s; bodyBytes:%s", id, page, name, message, headerTest, bodyBytes)
})
router.Run(":8080")
}
postman请求

请求打印
Accept [*/*]
Postman-Token [fb0ab2f2-8653-4fc9-9dce-a18ed349d113]
Accept-Encoding [gzip, deflate]
Content-Length [31]
User-Agent [PostmanRuntime/7.15.0]
Test [test123]
Cache-Control [no-cache]
Connection [keep-alive]
Content-Type [application/x-www-form-urlencoded]
id: 123; page: 1; name: ; message: this_is_great; header_test:test123; bodyBytes:
gin文档:https://gin-gonic.com/zh-cn/docs/examples/query-and-post-form/
gin Http请求Body和Header的获取 request post form Query header的更多相关文章
- Retrofit,Okhttp对每个Request统一动态添加header和参数(五)
文/Tamic 地址:http://blog.csdn.net/sk719887916/article/details/52189602 Header How to Add header to Eve ...
- 什么是请求参数、表单参数、url参数、header参数、Cookie参数?一文讲懂
最近在工作中对 http 的请求参数解析有了进一步的认识,写个小短文记录一下. 回顾下自己的情况,大概就是:有点点网络及编程基础,只需要加深一点点对 HTTP 协议的理解就能弄明白了. 先分享一个小故 ...
- 前端axios下载excel,并解决axios返回header无法获取所有数据的问题
需求:通过后端接口下载excel文件,后端没有文件地址,返回二进制流文件 实现:axios(ajax类似) 主要代码: axios:设置返回数据格式为blob或者arraybuffer 如: var ...
- angularjs 文件下载 并 从response header中获取文件名
最近在做一个下载文件的功能,后台接口给的是二进制流的方式,那么前端要把二进制流下载下来. 这个过程使用$http的get请求,使用Blob接收,倒是没有难度,主要是遇到了,后台的文件名拿不到 的问题. ...
- 使用JQuery Ajax请求,在Controller里获取Session
昨天在做项目的时候,两个平台之间的切换,虽然两个网站的Session都指向了同一台机子,但是通过Ajax方式来请求时,就是不能获取到Session的值. 在调试的过程中发现,原来是Session的Is ...
- Android系列之网络(一)----使用HttpClient发送HTTP请求(通过get方法获取数据)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- (一)----使用HttpClient发送HTTP请求(通过get方法获取数据)
(一)----使用HttpClient发送HTTP请求(通过get方法获取数据) 一.HTTP协议初探: HTTP(Hypertext Transfer Protocol)中文 “超文本传输协议”,是 ...
- ServletRequest HttpServletRequest 请求方法 获取请求参数 请求转发 请求包含 请求转发与重定向区别 获取请求头字段
ServletRequest 基本概念 JavaWeb中的 "Request"对象 实际为 HttpServletRequest 或者 ServletRequest, ...
- springmvc请求参数的绑定和获取
请求参数的绑定和获取: 获取页面请求的参数,是javaweb必不可少的一个环节,在struts中,是通过再Action中定义属性,或者Model的方式进行数据绑定和获取.需要提供setter或gett ...
- 测开之路一百二十六:flask之获取request请求数据
可以根据flask的request对象获取所有的请求信息 path = request.path # 获取请求地址method = request.method # 获取请求方法ip = reques ...
随机推荐
- Python+Selenium自动搜索基金业协会指定企业名单,爬虫抓取指定信息并保存到数据库
Python+Selenium自动搜索基金业协会指定企业名单,抓取指定信息并保存到数据库.网址https://gs.amac.org.cn/amac-infodisc/res/pof/manager/ ...
- 长连接网关技术专题(十):百度基于Go的千万级统一长连接服务架构实践
本文由百度技术团队分享,引用自百度Geek说,原题"千万级高性能长连接Go服务架构实践",为了阅读便利,本文进行了排版优化等. 1.引言 移动互联网时代,长连接服务成为了提升应用实 ...
- Android保活从入门到放弃:乖乖引导用户加白名单吧(附7大机型加白示例)
1.引言 IM在Android上的保活问题经常在即时通讯网的论坛和技术群里被讨论,自从Android 8.0后系统大大降低了后台运行应用的保活容忍度(详见<Android P正式版即将到来:后台 ...
- svtools简介
svtools - Comprehensive utilities to explore structural variations in genomes svtools不仅是一个工具,更因为它带有许 ...
- SpringCloud-Ribbon
1. Ribbon简介 Ribbon是一个基于HTTP和TCP的客户端负载均衡器,当使用Ribbon对服务进行访问的时候,他会扩展Eureka客户端的服务发现功能,实现从Eureka注册中心获取服务端 ...
- CDS标准视图:PM通知单 I_LocationAnalysisCube
视图名称:PM通知单 I_LocationAnalysisCube 视图类型:分析 视图代码: 点击查看代码 @EndUserText.label: 'Location Analysis - Cube ...
- asp.net core中,使用CancellationToken在用户终止请求时取消所有异步操作+ abp中的设计
如果一个Controller.Action里的处理非常耗时,比如读数据库.文件操作.调用第三方接口等此时用户随时可能关闭浏览器.F5刷新网页等操作.但是服务端的耗时代码任然在执行,这太浪费了,既然用户 ...
- Ceisum三维场景demo
技术栈&资源 框架:EarthSDK(基于cesium二次开发包) 底图:Arcgis公开地图服务 楼栋白膜:自有shape数据,使用CesiumLab切片为tileset.json glb模 ...
- pymysql数据库操作
1.安装pymsql pip install pymysql 2.导入包 import pymysql 3.连接数据库 conn=pymysql.connect(host='主机地址',user= ...
- MongoDB:【索引类型】单字段索引、复合索引、其他索引
查询性能分析: