Go语言框架:Beego
作者:互联网
以下beego3基于go v1.8+,bee v2.0+,开发工具是goland2022.1
一、Beego简介
1、安装
1)安装直接使用Go 安装包的形式: go get github.com/beego/beego(依赖go.mod文件1)
,可能会在goland里面无法使用。
go get github.com/beego/beego/v2 go get github.com/beego/bee/v2
注意:
go get只能下载普通的包,如果下载安装程序需要用go install
go install github.com/beego/beego/v2 go install github.com/beego/bee/v2
可以通过以下方法来配置在goland里面使用2:
(1)通过goland开发工具打开创建的项目,基于modules管理项目依赖 配置GOPROXY=https://goproxy.cn,direct
(2)执行go mod init projectname生成依赖管理文件go.mod(如果已存在,则省略)
(3)执行go mod vendor将依赖包生成到本地
2)测试
在%GOPATH%/src目录下创建一个测试项目,并启动,安装完成,浏览器输入http://localhost:8080/就可以创建的项目信息
cd %GOPATH%/src bee new hello cd hello bee run hello
注意:如果没有bee命令4:
可以进行进入下载的bee工具源码目录(如:D:\GOPATH\pkg\mod\github.com\beego\bee\v2@v2.0.2):
执行 go build 会生成bee.exe文件,然后将bee.exe拷贝被go的安装目录的bin下。
二、Beego基本说明
1、Beego的MVC
Beego是典型的MVC框架。
1)M:Model
M:Model,即Beego ORM,对象关系映射,以及对象的持久化
(1)特性:
支持Go的所有类型存储;更简单的CRUD的风格;完整实现健壮稳定的ORM。
(2)支持的数据库:MySQL、PostgreSQL,Sqlite3
2)V:View
V:View,体现为模板,Beego通过处理模板和渲染模板展现视图。
(1)静态文件处理
(2)模板处理
(3)模板分页处理
3)C:Controller
C:Controller,体现为各种功能具有以下特性:
(1)路由功能
(2)控制器函数
(3)CSRF(Cross-Site request forgery)过滤器
(4)Session
(5)错误处理&日志功能
2、Beego的RESTFUL路由-GET
1)例子
package main import "github.com/beego/beego" type RestfulController struct { beego.Controller } func (this *RestfulController) Get() { this.Ctx.WriteString("test") } func main() { beego.Router("rs", &RestfulController{}) beego.Run("127.0.0.1:80") }
3、Beego的RESTFUL路由-POST
1)例子
package main import "github.com/beego/beego" type RestfulController struct { beego.Controller } func (this *RestfulController) Post() { this.Ctx.WriteString("test") } func main() { beego.Router("rs", &RestfulController{}) beego.Run("127.0.0.1:80") }
4、Beego的正则路由
1)例子
package main import ( "fmt" "github.com/beego/beego" ) type RegExpController struct { beego.Controller } func (this *RegExpController) Get() { this.Ctx.WriteString(fmt.Sprintln("test get")) id := this.Ctx.Input.Param(":id") this.Ctx.WriteString(fmt.Sprintf("id is :%s\n", id)) } func main() { //正则路由,从路径中提取参数 beego.Router("/re/?:id", &RegExpController{}) beego.Run("127.0.0.1:80") }
5、Beego的Session
参考: 1、'go get' is no longer supported outside a module. 2、goland搭建beego开发环境 3、beego官网 4、没有bee命令标签:beego,框架,bee,github,go,Beego,Go,com 来源: https://www.cnblogs.com/hoaprox/p/16246422.html