【Golang】gin框架中间件的实现代码阅读

中间件的作用 中间件的作用在于,可以对于多个不同的请求,都应用某些同样的代码,做到可以复用代码的用途。例如,登陆、日志等等。 gin的中间件 gin的中间件,在gin里面是一个HandlerFunc,实际上跟路由的处理函数是一样的,一个中间件,即是一个带 *gin.Context 参数的函数。 gin中间件可以处理在路由函数前,也可以处理在路由函数后的事务。主要根据 c.Next() 在中间件中的

Golang 2020-11-09 gin 中间件

Beego接收json request时获取的body是空的解决

最近在学习vue,由于之前做这个博客的后台比较简陋,顺势就把管理后台改用restful + vue的形式,重新改做,记录一下遇到的小问题。 后端用的是beego(golang), 前端网路请求库用的是axios。 beego做restful 路由很简单, 只需要一行route就可以把GET、POST、PUT、DELETE四个方法的路由都做好。 比如添加post的restful,四个请求方法的路由:

使用go-sitemap-generator为网站添加sitemap

go-sitemap-generator是一个golang的生成sitemap的包,利用它可以快速生成sitemap文件,及可以ping是搜索引擎,通知收录。 sitemap的意义 xml文件的sitemap更多的用途是,加快搜索引擎对网站的认识,把想要被收录的url放到sitemap里面,搜索引擎就能按照这些url去检索对应的网页。 通过之前的做站经验,sitemap.xml的存在,是有能够加快

Golang 2020-09-10 beego sitemap

Golang对中文字符串截取不出现乱码的方法

在使用golang的时候,如果直接对string截取,有可能接触出来的字符串最后是一个不能显示的乱码。 s := "中文字符串" fmt.Println(s[:4]) 这是因为对字符串的截取犹如是对btye(8bit)数组的截取,而中文是不止一个字节的,所以就造成截取一个字的一半。而无法显示 解决方法 转换成[]rune s := "中文字符串" s2 :=

Golang 2020-04-24 rune byte

Beego分页处理beego内置分页功能使用

这里说的分页是指大量数据显示时,每页固定数量数据的输出,即是cms中的列表页分页。 Beego已经有内置的分页功能,但文档里面没有详细说明, 具体的package在 github.com/astaxie/beego/utils/pagination 具体使用方法 先是导入上面的包, 然后在需要的地方新建一个paginator // Category 栏目页面 func (c *Blog) Cate

Golang 2020-04-24 beego

Beego框架m2m关联中间表模型怎么自定义?

对于beego框架的orm,教程、文档上面的描述、例子不详尽。尽管上面又多对多模型的定义例子,但是那是对于新项目而言的,如果有那么个情况,是需要在现有的数据库(包含数据)的情况下开发,可能,文档上的例子就不能直接搬了。而在找了很多网页之后, 最终在beego框架本身的代码里面找到了例子。 github.com\astaxie\beego\orm\models_test.go 多对多关系,会需要有一

Golang 2020-04-24 beego

GoColly代理切换器的使用

Colly自带有代理切换的功能, 它能对每个http链接进行切换代理进行访问,可以避免一些由于同一地址访问速度过快而被ban的可能。 使用例子: package main import ( "github.com/gocolly/colly" "github.com/gocolly/colly/proxy" ) func main() { c := coll

Golang 2020-04-24 colly

GoColly的Collector配置方式

Colly 是一个可高度定制话的爬虫框架, 它提供了很多对其定制化的方式。 在代码中配置 创建一个默认的collector c1 := colly.NewCollector() 创建collector时,修改UA和revisit(多次访问同一个url) c2 := colly.NewCollector( colly.UserAgent("user agent"), colly.

Golang 2020-04-24 colly

Golang爬虫框架Colly安装及基本使用

Colly是golang的一个爬虫框架, 从简单的爬虫到处理数百万页面的异步爬虫都可以适用。 Colly安装: go get -u github.com/gocolly/colly 基本使用: package main import ( "fmt" "github.com/gocolly/colly" ) func main() { // 初始化一个默认的C

Golang 2020-04-24 colly