1. 安装与使用
1.1 安装Bee
go get github.com/astaxie/beego go get -u github.com/astaxie/beego go get -u github.com/beego/bee
讯享网
1.2 创建一个Bee项目
创建一个标准的 Bee 项目:
讯享网bee new myproject
创建一个 api 应用:
bee api apiproject
创建一个标准的 Bee 项目的目录结构:
讯享网├─conf ├─controllers ├─models ├─routers ├─static │ ├─css │ ├─img │ └─js ├─tests └─views
1.3 启动
在本地以开发模式启动应用:
$ bee run
2. Router
2.1 默认访问
在 mian.go 中引入路由系统:
讯享网// main.go package main import ( + _ "Bee-Study/quickstart/routers" "github.com/astaxie/beego" ) func main() { beego.Run() }
首先在 Controller 层创建对应的 Controller 逻辑:
// controllers/default.go package controllers import ( "github.com/astaxie/beego" ) type MainController struct {
beego.Controller } func (c *MainController) Get() {
c.Ctx.WriteString("hello") }
然后将路由文件创建于 routers 目录下:
讯享网// routers/router.go package routers import ( "Bee-Study/quickstart/controllers" "github.com/astaxie/beego" ) func init() {
beego.Router("/", &controllers.MainController{
}) }
当我们访问 localhost:prot/ 时就会触发 Controller 层的逻辑, 由于浏览器发送的是 GET 请求,所以就会触发 MainController 的 Get() 方法,输出 hello。
2.2 不同路由匹配不同方法
由于我们在 MainController 中定义了默认的 Get 方法,所以所有指向 MainController 的路由只要发送 Get 请求就会触发 MainController 的 Get() 方法。但通常我们都希望一个 Controller 对象可以处理多个路由请求,所以我们在调用 beego.Router 时可以传入第三个参数,即让当前匹配的路由可以在对应的请求方式下,触发 Controller 对象下的某一方法:
// router.go beego.Router("/test", &controllers.MainController{
}, "get:handleTest")
讯享网// controller.go func (c *MainController) handleTest(){
// do something }
3. Controller
3.1 创建一个 Controller
Controller 主要负责逻辑控制,通过上一节我们已经创建除了一个简单的 Controller。Controller 不需要在 main.go 中挂载,只需要在对应的 Router 下使用对应的 Controller 即可。
创建一个 Controller 我们要继承一个 beego.Controller 对象:
type MainController struct {
beego.Controller }
之后我们可以复写其 Get() 方法:
讯享网func (c *MainController)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/72069.html