
gin
go的一个开源web框架
李子园的梦想
命运不是风,吹来吹去
展开
-
gin的渲染(三)
一、各种数据格式的响应1、json2、结构体3、XML4、YAML二、HTML模板渲染html代码go代码LoadHTMLGlob()方法加载模板文件三、重定向四、同步异步启动新的goroutine时,不应该使用原始上下文,必须使用它的只读副本。...原创 2020-12-21 10:10:38 · 189 阅读 · 0 评论 -
gin的数据解析和绑定(二)
一、json数据解析和绑定1、定义一个绑定结构体 modeljson 表示json传参字段名称required 表示必传字段2、路由3、解析和绑定使用ShouldBindJSON函数,可以解析并绑定二、表单数据解析和绑定1、定义一个绑定结构体 modelform 表示form传参字段名称required 表示必传字段2、路由3、解析和绑定Bind()默认解析并绑定form格式。根据请求头中content-typ.原创 2020-12-21 09:55:05 · 660 阅读 · 3 评论 -
gin简介和路由(一)
一、Gin 特性1、快速:路由不使用反射,基于Radix树,内存占用少。2、中间件:HTTP请求,可先经过一系列中间件处理,例如:Logger,Authorization,GZIP等。这个特性和 NodeJs 的Koa框架很像。中间件机制也极大地提高了框架的可扩展性。3、异常处理:服务始终可用,不会宕机。Gin 可以捕获 panic,并恢复。而且有极为便利的机制处理HTTP请求过程中发生的错误。4、JSON:Gin可以解析并验证请求的JSON。这个特性对Restful API的开发尤其有..原创 2020-12-17 10:20:43 · 2907 阅读 · 0 评论 -
gin之router
gin的是路由算法其实就是一个Trie树(也就是前缀树)一、注册路由1、普通注册2、使用中间件3、使用Group(路由组)在预处理阶段1、在调用中间件的时候, 是将某个路由的handler处理函数和中间件的处理函数都放在了Handlers的数组中2、在调用Group的时候, 是将路由的path上面拼上Group的值. 也就是/user/:name, 会变成v1/user:name最后都需要handle的addRoute注册到e...原创 2020-12-13 18:38:34 · 1810 阅读 · 1 评论 -
gin之context设计
Gin封装的最好的地方就是context和对response的处理一、contextContext的最佳运用场景就是对Http的处理Context是Gin最重要的部分。它允许我们在中间件之间 传递变量,管理流程,验证请求的JSON 并 呈现JSON响应。1、Metadata Managementtype Context struct {...Keys map[string]interface{}...}gin获取或设置Context的Key-Value(键值对).原创 2020-12-10 21:03:42 · 2993 阅读 · 0 评论 -
gin之基本介绍
一、常见的几种GO语言Web框架1、Beego面向Go编程语言的开源高性能web框架https://github.com/astaxie/beego https://beego.me2、Buffalo使用Go语言快速构建Web应用https://github.com/gobuffalo/buffalo https://gobuffalo.io3、Echo高性能、极简Go语言Web框架https://github.com/labstack/echo https://echo.l...原创 2020-12-09 18:13:39 · 6006 阅读 · 0 评论 -
gin之go的原生net/http
一、go自带net/http处理 http接口的应用func main() { // 注册路由 http.HandleFunc("/", func(write http.ResponseWriter, request *http.Request) { _, _ = write.Write([]byte("Hello World!")) }) // 服务监听 if err := http.ListenAndServe(":8080", nil); err !=原创 2020-12-08 10:47:08 · 842 阅读 · 0 评论