2025年BeeGo快速使用指南

BeeGo快速使用指南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 应用

大家好,我是讯享网,很高兴认识大家。

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) 
小讯
上一篇 2025-02-09 18:15
下一篇 2025-01-07 22:30

相关推荐

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