beego 简介
beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API、Web 及后端服务等各种应用,是一个 RESTful 的框架,主要设计灵感来源于 tornado、sinatra 和 flask 这三个框架,但是结合了 Go 本身的一些特性(interface、struct 嵌入等)而设计的一个框架。
beego 的安装
1 | go get github.com/beego/beego/v2 |
bee 工具简介
bee 工具是一个为了协助快速开发 beego 项目而创建的项目,通过 bee 您可以很容易的进行 beego 项目的创建、热编译、开发、测试、和部署。
bee 工具的安装
1 | go get -u github.com/beego/bee/v2 |
安装完之后,bee 可执行文件默认存放在 $GOPATH/bin 里面,所以您需要把 $GOPATH/bin 添加到您的环境变量中,才可以进行下一步。
1 | Bee is a Fast and Flexible tool for managing your Beego Web Application. |
详细参考:https://beego.me/docs/install/bee.md
beego 返回 json 响应
需要注意的是 json 结构体里面的字段必须是大写字母开头,否则是不会返回的。
1 | type person struct { |
1 | package controllers |
Beego框架:表单数据验证
git地址:https://github.com/go-playground/validator
1 | StructTag 可用的验证函数: |
1 | package main |
beego httplib
httplib简单使用
1 | req := httplib.Get("http://beego.me/") |
支持的请求方法
1 | Get(url string) |
支持超时
1 | req.SetTimeout(connectTimeout, readWriteTimeout) |
设置请求参数
- 方法一
1 | req := httplib.Post("http://beego.me/") |
- 方法二
1 | req := httplib.Post("http://127.0.0.1:9999") |
- 方法三 发送大片的数据
1 | req := httplib.Post("http://beego.me/") |
设置header信息
1 | req := httplib.Post("http://beego.me/") |
直接上传文件
1 | PostFile 第一个参数是 form 表单的字段名,第二个是需要发送的文件名或者文件路径 |
获取返回结果
1 | 1. 返回 Response 对象,req.Response() 方法 |