- 需要先安装golang
go get -u github.com/kataras/iris
2.hello word
package main import "github.com/kataras/iris" func main() { app := iris.Default() // Method: GET // Resource: http://localhost:8080/ app.Handle("GET", "/", func(ctx iris.Context) { ctx.HTML("Hello world!") }) app.Run(iris.Addr(":8080")) } 萌新实现,思路有限,客官且看轻喷
以用户信息管理为例
创建userRoutes.go:
package route import ( "github.com/kataras/iris" "mcGoApi/api/login/controllers" ) var usersRoutes iris.Party //为外提供一个设置主路由的方法 func (u *UserRouter) SetUserRouter(app *iris.Application, path string) { usersRoutes = app.Party(path) //路由分发,这里再次路由分发,将功能块再次细化 setLoginRoute() setUserInfoRoute() } /* * 登录模块 * @uri:/mcos/login */ func setLoginRoute() { // POST: http://localhost:8080/mcos/login/ usersRoutes.Post("/login", func(ctx iris.Context) { hander_req_post := &controllers.UserController{ Ctx: ctx, } hander_req_post.PostLogin() }) } /* * 用户信息处理模块路由 * 也是功能模块的入口(请求的控制器、服务处理和数据模型封装不在此说明) * @uri:/mcos/userinfo */ func setUserInfoRoute() { // GET: http://localhost:8080/mcos/userinfo/42 usersRoutes.Get("/userinfo/{id:string}", func(ctx iris.Context) { hander_req_get := &controllers.UserController{ Ctx: ctx, } hander_req_get.GetUserInfo() }) // POST: http://localhost:8080/mcos/userinfo/ usersRoutes.Post("/userinfo", func(ctx iris.Context) { hander_req_post := &controllers.UserController{ Ctx: ctx, } hander_req_post.PostRegister() }) // PUT: http://localhost:8080/mcos/userinfo/ usersRoutes.Put("/userinfo/{id:int}", func(ctx iris.Context) { hander_req_put := &controllers.UserController{ Ctx: ctx, } hander_req_put.PutUserInfo() }) // DELETE: http://localhost:8080/mcos/userinfo/42 usersRoutes.Delete("/userinfo/{id:int}", func(ctx iris.Context) { hander_req_del := &controllers.UserController{ Ctx: ctx, } hander_req_del.DeleteUser() }) } /* * mcGoApi * go语言实现的接口请求框架 * 基于Iris封装开发 */ package main import ( "github.com/kataras/iris" "log" "mcGoApi/api/route" "mcGoApi/database/mysql/mysqltools" "os" ) func main() { // init database pool(此为我对数据库orm连接的封装,不在此详细说) issucc := mysqltools.GetInstance().InitDataPool() if !issucc { log.Println("init database pool failure...") os.Exit(1) } app := iris.New() // Grouping,路由分发,用户信息处理模块设置主路由"/mcos" new(route.UserRouter).SetUserRouter(app, "/mcos") app.Run(iris.Addr(":8080")) } 文章来源: Iris安装和实现处理路由分发