Beego 的执行过程,go下载jwt,不同环境数据库连接
执行过程
Beego整体设计架构
Beego是最经典的MVC架构,也可以前后端分离(api),我这就是前后端分离的,那么我这只有Models 和 Controllers ,因为我第一次接触框架,我就很好奇Beego框架整个运行流程,先运行什么再运行什么。
我看到最多的就是Beego导入每个包都会执行init,如果是struct就不执行
然后我从五分钟理解golang的init函数找到了答案
导包的时候就会执行init,有点像c语言的define(宏定义),为社么init顺序不一样呢,根据你的包顺序来,比如我先导了router包,但router包又导了其他包,就套娃,先运行最底层包的init,让我想到了下图,之前看的时候还觉得没啥,现在能体会到了
main中beego run后初始化都完成了
那么后续的请求过程是怎么回事呢,这就跟MVC架构有关了
我这加了jwt,有个Token过滤方法
再去router路由找有没有你需要的路径
我路由设置这块用的是注释路由,然后再跳转到Controllers,看你什么请求就会执行哪个请求中的方法,这个请求就会涉及到restful
下面是登录,我用的是POST请求,生成了jwt通过ServerJSON接口将JSON格式数据传到页面给用户token
JWT
了解JWT(json web token)看下面文章
https://www.jianshu.com/p/576dbf44b2ae
官方文档
https://jwt.io/introduction/ jwt的
https://self-issued.info/docs/draft-ietf-oauth-json-web-token.html beegojwt的
go下载JWT
go get github.com/dgrijalva/jwt-go
go get github.com/adam-hanna/jwt-auth
输入指令后报错:go get: module github.com/dgrijalva/jwt-go: Get “https://proxy.golang.org/github.com/dgrijalva/jwt-go/@v/list”: dial tcp 172.217.160.113:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
设置环境变量换代理服务器即可
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
不同环境数据库连接
需要用到beego框架自带的配置文件
相关文章
- k8s client-go源码分析 informer源码分析-初始化与启动分析
- Go 查找重复的行
- go log包日志管理详解
- 通过Mesos、Docker和Go,使用300行代码创建一个分布式系统
- Go Runtime hashmap实现
- Go Web:数据存储(3)——gob对象序列化
- Go基础系列:WaitGroup用法说明
- GO语言练习:第一个Go语言工程--排序
- 初识GO语言——安装Go语言
- Go语言与数据库开发:01-01
- 「刷起来」Go必看的进阶面试题详解
- 【Go电商实战04】为什么GoFrame不支持migrate功能?我还特意去问了框架作者
- windows 安装Go 环境 搭建Mysql数据库连接
- Go语言与数据库开发:01-03
- Go语言_时间篇
- Go 数组(1)