以下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\[email protected]):
执行 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命令版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。