beego架构
积木式集合
cache 缓存模块
config 配置模块
context 上下文模块
logs 日志模块
orm 和数据库操作相关模块
session 会话
httplib 网络相关模块
beego执行逻辑
页面(V) — 控制© — 数据库(M)
beego项目结构
|_____config
| |---app.config
|_____controllers(C)
| |---admin
| |---default.go
|_____main.go
|_____modles(M)
| |---modles.go
|_____static
| |---css
| |---ico
| |---img
| |---js
|_____views(V)
| |---admin
| |---index.tpl
config 配置文件
controllers 控制ceng
main.go 主入口
modles 和数据库相关
statics 静态文件(html, css, js)
views 页面展示
快速开发
1.环境安装
2.安装bee工具
bee命令
new 基于web开发
api 基于手机接口开发
run 运行
new命令
.
├── conf
│ └── app.conf
├── controllers
│ └── default.go
├── main.go
├── models
├── routers
│ └── router.go
├── static
│ ├── css
│ ├── img
│ └── js
│ └── reload.min.js
├── tests
│ └── default_test.go
└── views
└── index.tpl
api命令
.
├── conf
│ └── app.conf
├── controllers
│ ├── object.go
│ └── user.go
├── main.go
├── models
│ ├── object.go
│ └── user.go
├── routers
│ └── router.go
└── tests
└── default_test.go
run命令
bee run (在项目根目录去执行)
http://172.0.0.1:8080/
配置文件
1.系统配置
appname = myweb
httpport = 8080
runmode = dev prod test
2.应用配置
配置数据库
动态配置:
runmode
[dev]
httpport = 8080
[test]
httpport = 8081
[prod]
httpport = 8082
路径操作
1.固定路由
beego.Router("/", &controllers.MainController{
})
beego.Router("/admin", &controllers.UserController{
})
beego.Router("/admin/index", &controllers.ArticleController{
})
beego.Router("/admin/addpkg", &controllers.AddController{
})
2.基础路由
基本Get路由
beego.Get("/",func(ctx *context.Context){
ctx.Output.Body([]byte ("hello world"))
})
基本Post路由
beego.Post("/",func(ctx *context.Context){
ctx.Output.Body([]byte ("hello world"))
})
3.自定义方法及RESTful规则
beego.Router("/", &IndexController{
}, "*:Index"