第二课 Beego仿优酷-go环境安装和Beego框架基础

第二课 Beego仿优酷-go环境安装和Beego框架基础

tags:

  • Beego
  • 慕课网

categories:

  • go环境安装
  • Beego框架

第一节 Beego框架安装

1.1 Beego框架介绍

  1. 官方网站:https://beego.me/

1.2 Go开发环境搭建

  1. GOROOT,就是GO的安装路径
  2. GOPATH,就是工作目录,包含src,pkg,bin文件夹。这里设置为goRoot目录
  3. 注意:不要把gopath设置成安装目录
  4. 下载地址:https://studygolang.com/dl 。下载Go的安装文件,mac和win系统直接安装,linux解压
# 测试是否完成
go version
go env

1.3 Beego安装

  1. Beego安装是典型的go安装包安装,安装命令: go get github.com/astaxie/beego
  2. bee工具是一个为了协助快速开发beego项目而创建的项目
  3. go get github.com/beego/bee
  4. bee可执行文件默认存放在 G O P A T H / b i n 里 面 , 所 以 您 需 要 把 GOPATH/bin里面,所以您需要把 GOPATH/binGOPATH/bin添加到您的环境变量。直接手动维护
# 手动下载bee  https://github.com/beego/bee/releases
# 复制执行文件到gopath的bin目录下,配置环境变量
bee version
# 不用go Mod 才可以版本控制 
go env -w GO111MODULE=off
# 手动下载beego 1.9.0版本到目录下gopath下的src\github.com\astaxie\beego
# 进入该目录下执行go install
bee version
  1. 使用go mod 方式安装beego和bee
# 首先修改环境变量 可以右键电脑创建键值对
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
go env
# 这里就可以进行版本管理了
go get -u github.com/astaxie/beego
go get -u github.com/beego/bee
# bin目录,配置环境变量 然后到src下
bee new myproject
cd myproject
# 这里注意多了个.mod的文件 就是用来管理版本的
go mod init myproject
# 运行项目
bee run

1.4 bee命令的基本使用

  1. bee new 创建一个新的beego项目
  2. bee api 如果项目只是提供api服务的话可以用这个, 它不会创建static和views目录
  3. bee run 运行beego用来调试
  4. bee pack 上线时用来打包beego文件的 打包完的文件在bin. 注意: bee pack -be GOOS=linux (mac下打包的项目,liunx下不能直接用)
  5. 测试一下
bee new demo
# 进入到demo目录下
cd src/demo
# 如果运行出错看下目录对不对呀
bee run  
# 访问http://localhost:8080/

第二节 Beego框架路由和配置

2.1 hello world基本路由

  1. controllers\default.go 下新建一个函数。
// 浏览器中输出helloword
func (c *MainController) GetHello(){
   
	var(
		 title string
	)
	title = "hello world"
	c.Ctx.WriteString(title)
}
  1. routers\router.go 下新建一个路由。
// "get:GetHello" 如果不加这个参数,默认访问get函数
beego.Router("/hello", &controllers.MainController{
   }, "get:GetHello")

2.2 注解路由

  1. 在文件夹controllers中新建一个demo.go的文件。
package controllers

import "github.com/astaxie/beego"

type DemoController struct {
   
	beego.Controller
}

// @router /demo/hello [GET]
func (this *DemoController) GetHello() {
   
	var (
		title string
	)
	title = "hello world!"
	this.Ctx.WriteString(title)
}
  1. routers\router.go添加注解路由。
beego.Include(&controllers.DemoController{
   })

在这里插入图片描述
3. 重新运行一下。访问一下http://127.0.0.1:8080/demo/hello
4. Beego的MVC和其它语言的mvc开发模式是一样的,对应文件夹:controllers、models、views

2.3 Beego过滤器的实现

  1. 过滤器有哪些作用?
    • 安全验证,例如:IP屏蔽,token验证,访问地址屏蔽
    • beego.InsertFilter(pattern string, postion int, filter FilterFunc, skip…bool)
  2. 实现一个过滤器。访问之前http://127.0.0.1:8080/demo/hello ,会自动输出跳转函数中的输出。
package routers

import (
	"demo/controllers"

	"github.com/astaxie/beego"
	"github.com/astaxie/beego/context"
)

func init() {
   
	beego.Router("/", &controllers.MainController{
   })
	beego.Router("/hello", &controllers.MainController{
   }, "get:GetHello")
	beego.Include(&controllers.DemoController{
   })

	var FilterDemo = func(ctx *context.Context) {
   
		var (
			title string
		)
		title = "禁止访问"
		ctx.WriteString(title)
	}
	// 如果有/demo/*就禁止, 在BeforeRouter路由之前执行FilerDemo函数
	beego.InsertFilter("/demo/*", beego.BeforeRouter, FilterDemo)
}

2.4 Beego参数配置

  1. 参数配置在demo/conf/app.conf
  2. 不同环境的配置用[]区分
appname = demo
httpport = 8080
runmode = dev
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值