package iris import ( "fmt" "github.com/kataras/iris/core/router" "github.com/kataras/iris/mvc" ) // Controller method is DEPRECATED, use the "mvc" subpackage instead, i.e // import "github.com/kataras/iris/mvc" and read its docs among with its new features at: // https://github.com/kataras/iris/blob/master/HISTORY.md#mo-01-jenuary-2018--v10 func (app *Application) Controller(relPath string, c interface{}, _ ...interface{}) []*router.Route { name := mvc.NameOf(c) panic(fmt.Errorf(`"Controller" method is DEPRECATED, use the "mvc" subpackage instead. PREVIOUSLY YOU USED TO CODE IT LIKE THIS: import ( "github.com/kataras/iris" // ... ) app.Controller("%s", new(%s), Struct_Values_Binded_To_The_Fields_Or_And_Any_Middleware) NOW YOU SHOULD CODE IT LIKE THIS: import ( "github.com/kataras/iris" "github.com/kataras/iris/mvc" // ... ) // or use it like this: ).AddDependencies(...).Register(new(%s)) mvc.Configure(app.Party("%s"), myMVC) func myMVC(mvcApp *mvc.Application) { mvcApp.AddDependencies( Struct_Values_Dependencies_Binded_To_The_Fields_Or_And_To_Methods, Or_And_Func_Values_Dependencies_Binded_To_The_Fields_Or_And_To_Methods, ) mvcApp.Router.Use(Any_Middleware) mvcApp.Register(new(%s)) } The new MVC implementation contains a lot more than the above, this is the reason you see more lines for a simple controller. Please read more about the newest, amazing, features by navigating below https://github.com/kataras/iris/blob/master/HISTORY.md#mo-01-jenuary-2018--v1000`, // v10.0.0, we skip the number 9. relPath, name, name, relPath, name)) }