包含标签 golang 的文章

Golang Gin 实战(十三)| 中间件详解看这一篇就够了

在Gin的整个实现中,中间件可谓是Gin的精髓。一个个中间件组成一条中间件链,对HTTP Request请求进行拦截处理,实现了代码的解耦和分离,并且中间件之间相互不用感知到,每个中间件只需要处理自己需要处理的事情即可。今天我们就通过这篇文章,详细的介绍Gin中间的使用和原理。 通过……

阅读全文

Golang Gin 实战(十二)| ProtoBuf 使用和源码分析原理实现

ProtoBuf最近几年也算比较流行,它是一种语言无关,平台无关,并且可以扩展,并结构数据序列化的方法。相比JSON/XML这类文本格式的,ProtoBuf是二进制的,更快更高效。对于这么好的特性,Gin当然是支持的。 通过这篇文章你可以学到: ProtoBuf数据结构 ProtoBu……

阅读全文

Golang Gin 实战(十一)| HTML模板渲染

终于又到一个重头戏了。在整个服务端开发中,一个是API,一个就是网页,当前的API大部分都是通过JSON提供了,而网页就是通过HTML提供了。所以对于这么大的需求,Gin当然不会忘记,为我们提供了很多方便的操作。 html/template 在聊Gin的HTML渲染之前,先聊聊Golang(Go语言)内置的……

阅读全文

Golang Gin 实战(十)| XML渲染

虽然当前基于XML的API应用不多,但是Gin也提供了便捷的XML生成,可以把这些用于需要XML的地方,比如网站的sitemap,rss订阅的atom等。 来个map试试 1 2 3 4 5 6 7 func main() { r := gin.Default() r.GET("/xml", func(c *gin.Context) { c.XML(200, gin.H{"wechat": "flysnow_org", "blog": "www.flysnow.org"}) }) r.Run(":8080") } 在Gin中,要生成XML,只需要使用context.XML方法……

阅读全文

Golang Gin 实战(九)| JSONP跨域和劫持

浏览器都遵循同源策略,也就是说位于www.flysnow.org下的网页是无法访问非www.flysnow.org下的数据的,比如我们常见的AJAX跨域问题。 要解决跨域问题的办法有CORS、代理和JSONP,这里结合Gin,主要介绍JSONP模式 JSONP原理 JSONP可以跨域,……

阅读全文

Golang Gin 实战(八)| JSON渲染输出

现在开发API,所输出的基本上都是JSON格式的内容,相比比较旧的XML格式,JSON轻便、简洁、易于传输,所以现在的API使用非常多。 Gin对于API JSON的支持非常友好,可以让我们非常方便的开发一个基于JSON的API。 快速入门 1 2 3 4 5 6 7 func main() { r := gin.Default() r.GET("/hello", func(c *gin.Context) { c.JSON(200, gin.H{"message": "hello world"}) }) r.Run(":8080")……

阅读全文

Golang Gin 实战(七)| 分组路由源代码分析

在我们开发定义路由的时候,可能会遇到很多部分重复的路由: /admin/users /admin/manager /admin/photo 以上等等,这些路由最前面的部分/admin/是相同的,如果我们一个个写也没问题,但是不免会觉得琐碎、重复,无用劳动,那么有没有一种更好的办法来解决呢?Gin为我们提供的解决方案就是分组路由 分组路由 类似以上示例,就是分好……

阅读全文

Golang Gin 实战(六)| 获取Form表单参数和原理分析

除了通过URL查询参数提交数据到服务器外,常用的还有通过Form表单的方式。Form表单相比URL查询参数,用户体验好,可以承载更多的数据,尤其是文件上传,所以也更为方便。 Form 表单 对于Form表单,我们不会陌生,比如input文本框、密码框等等,可以让我们输入一些数据,然后点击「保……

阅读全文

Golang Gin 实战(五)| 接收数组和 Map

在 上一篇 Golang Gin 实战(四)| URL查询参数的获取和原理分析 文章中,因为文章篇幅问题,QueryArray和QueryMap没有介绍,这篇文章继续。 QueryArray 在实际的业务开发中,我们有些业务多选的,比如一个活动有多个人参加,一个问题有多个答案等等,对于这类业务功能来说,如果是通过查询参数提交的……

阅读全文

最近文章

分类

标签

其它