Iris安装和实现处理路由分发

匿名 (未验证) 提交于 2019-12-03 00:25:02

  • 需要先安装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")) }
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!