「这是我参与2022首次更文挑战的第19天,活动详情查看:2022首次更文挑战」
生命不息,学习不止
题外话
今天周三啦,今天工作忙起来了呀,忙的我焦头烂额,都赖外面这大圆月亮,果然十五的月亮十六圆,圆的就像广大掘金网友的身材一样,哈哈哈哈哈哈哈……
废话不多说,上货
开源项目——go-gin-api
go-gin-api
这是一个主要以gin框架为主,包含了一些常用功能,包括日志,菜单,权限,代码生成的功能的一个项目。
main.go 代码解析
上回已经说完了main.go中日志初始化的模块,声明并初始化了assesslog和cronlog,如上
接下来就是初始HTTP服务模块了,大家冲冲冲……
初始HTTP服务模块
上代码,如下
首先使用router包的NewHTTPServer函数绑定日志并初始化了一个HTTP服务,稍后我会详细的讲讲。
然后将HTTP服务与端口进行绑定,端口的设定也是在config文件中,大家可以自行更改。
然后开启了goroutine来开启服务的监听,并设置了监听失败的日志内容。
NewHTTPServer
现在就来详细讲讲router包的NewHTTPServer函数,具体实现如下
首先能看到参数是两个日志类型,返回值是一个server对象,server对象的定义如下
Mux是一个路由选择器接口,用来执行http请求的路由和分发
Db是一个类似数据库mangeruser的接口,包括数据库的链接设置,最大连接数等等
Cache和上面的Db功能类似,主要是负责redis的管理,提供了redis常用的一些方法
CronServer是定时任务的接口,包括一下定时任务的相关设定,开启与关闭等等
回到NewHTTPServer函数,首先是一个参数判断,没什么好说的
然后初始化了一个resource对象,resource对象定义如下,
相比于sever多了一个logger日志实体,和一个拦截器,主要用于相关签名,登录等校验,后面会详细讲讲
然后将传入的logger作为了resource的成员变量,紧接着声明了具体ip和端口,http://127.0.0.1:9999
就是config文件中设定,大家可自行更改。
今天太晚了,就先到这里。
下回预告
下回咱们继续ewHTTPServer函数,学习爱我,我爱学习,大家冲冲冲。
下一篇就讲,敬请期待
大家看完发现有什么错误,写在下面吧!跟我黑虎阿福比划比划!