package controllers
import("beego-api-test/models""encoding/json""github.com/astaxie/beego")// Operations about Userstype UserController struct{
beego.Controller
}// @Title GetAll// @Description get all Users// @Success 200 {object} models.User// @router / [get]func(u *UserController)GetAll(){
users := models.GetAllUsers()
u.Data["json"]= users
u.ServeJSON()}
- models:数据库模型
- routers:路由设置
// Package routers// @APIVersion 1.0.0// @Title beego Test API// @Description beego has a very cool tools to autogenerate documents for your API// @Contact astaxie@gmail.com// @TermsOfServiceUrl http://beego.me/// @License Apache 2.0// @LicenseUrl http://www.apache.org/licenses/LICENSE-2.0.htmlpackage routers
import("beego-api-test/controllers""github.com/astaxie/beego")funcinit(){
ns := beego.NewNamespace("/v1",
beego.NSNamespace("/object",
beego.NSInclude(&controllers.ObjectController{},),),
beego.NSNamespace("/user",
beego.NSInclude(&controllers.UserController{},),),)
beego.AddNamespace(ns)}
- swagger:接口文档
- main.go:入口文件
package main
import(_"beego-api-test/routers""github.com/astaxie/beego")funcmain(){if beego.BConfig.RunMode =="dev"{
beego.BConfig.WebConfig.DirectoryIndex =true
beego.BConfig.WebConfig.StaticDir["/swagger"]="swagger"}
beego.Run()}
创建beego入门级脚本服务
package main
import"github.com/astaxie/beego"// 导入库type Test struct{// 定义接口结构体,并继承beego.Controller
beego.Controller
}func(self *Test)Get(){// 为接口定义get方法
self.Ctx.WriteString("hello world")}funcmain(){
beego.Router("/",&Test{})// 注册服务
beego.Run(":8089")// 运行服务}
路由设置
格式
beego.Router("/path",&controllers)// 注册控制器到路由中
逻辑控制器
格式
type MainController struct{
beego.Controller // 让你的自定义控制器继承beego.Controller}// beego.Controller拥有很多方法,其中包括 Init、Prepare、Post、Get、Delete、Head 等方法
运行
beego.Run(":8089")// Run beego application.// beego.Run() default run on HttpPort// beego.Run("localhost")// beego.Run(":8089")// beego.Run("127.0.0.1:8089")