Golang gin context 结构体属性含义

本文介绍了Go语言中context在web开发中的重要性,如何通过`http.ResponseWriter`和`http.Request`管理请求上下文,以及Gin框架如何扩展baseContext以提供Web基础功能,如参数处理和验证。

前言

有一定 go 使用经验的人应该知道,context 在 go 的 web 开发中往往代表着一个请求的上下文。

作为开发者,我们可以通过这个 context 实例,实现对请求 goroutine 链条的管理,比如请求的超时控制等等。

不过,net/http 里面的 ServeHTTP 方法只是给了开发者两个参数,一个是 http.ResponseWriter,是用来返回响应给客户端用的,另一个是 *http.Request,是用来获取请求信息的。但实际上 *http.Request 包含了请求相关的 context,这个 context 就是整个请求最初的那个 context

对于 Web 开发来说,有了 http.ResponseWriter*http.Request 这两个参数也足够了。但是想要更高效地进行应用开发,我们往往需要在此基础上再封装一下。

在 gin 里面,也对 baseContext 进行了一定的扩展吧,应该这么说,实现了很多 Web 基础功能,比如参数获取、中间件、参数验证等等。

gin.context 思维导图

在这里插入图片描述

看不清可以右键在新页面打开.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张无忌打怪兽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值