在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
文档: 支持所有 HTTP 方法, 例如,如果想要写一个 每个控制器通过 func (m *MyController) BeforeActivation(b mvc.BeforeActivation) { // b.Dependencies().Add/Remove // b.Router().Use/UseGlobal/Done // and any standard API call you already know // 1-> Method // 2-> Path // 3-> The controller's function name to be parsed as handler // 4-> Any handlers that should run before the MyCustomHandler b.Handle("GET", "/something/{id:long}", "MyCustomHandler", anyMiddleware...) }
通过控制器方法的输入参数访问动态路径参数,不需要绑定。当你使用 iris 的默认语法来解析控制器处理程序时,你需要在方法后加上 "." 字符,大写字母是一个新的子路径。 官网例子: 1 mvc.New(app.Party("/user")).Handle(new(user.Controller)) 2 3 func(*Controller) Get() - GET:/user. 4 func(*Controller) Post() - POST:/user. 5 func(*Controller) GetLogin() - GET:/user/login 6 func(*Controller) PostLogin() - POST:/user/login 7 func(*Controller) GetProfileFollowers() - GET:/user/profile/followers 8 func(*Controller) PostProfileFollowers() - POST:/user/profile/followers 9 func(*Controller) GetBy(id int64) - GET:/user/{param:long} 10 func(*Controller) PostBy(id int64) - POST:/user/{param:long} mvc.New(app.Party("/profile")).Handle(new(profile.Controller)) func(*Controller) GetBy(username string) - GET:/profile/{param:string}
测试demo main: package main import ( "admin/web/controllers" "github.com/kataras/golog" "github.com/kataras/iris" "github.com/kataras/iris/middleware/logger" "github.com/kataras/iris/mvc" ) func main() { app := newApp() //app.RegisterView(iris.HTML("./web", ".html")) //加载模版文件 app.StaticWeb("/static", "web/resources/static") // 设置静态资源,暂时没有 app.RegisterView(iris.HTML("web/views", ".html").Reload(true)) golog.Info() //暂时不知道干啥的 app.Run(iris.Addr(":8081")) }
controller: package controllers import ( "admin/models" "admin/services" "fmt" ) type UserController struct { Service services.UserService } // curl -i http://localhost:8080/movies // 如果您有敏感数据,这是正确的方法: // func (c *MovieController) Get() (results []viewmodels.Movie) { // data := c.Service.GetAll() // for _, movie := range data { // results = append(results, viewmodels.Movie{movie}) // } // return // } // Get方法 // curl -i http://localhost:8080/user/list func (c *UserController) Get() (result []models.User) { fmt.Println("111111") // //data := c.Service.GetAll() //for k,_ := range data { // result = append(result,models.User{1,string(k)}) //} return } // 获取用户列表 // curl -i http://localhost:8080/user/list func (u *UserController) GetList() (res string){ fmt.Println("GetUserList") return "getUserlist" }
|
请发表评论