在Iris中注册控制器必须先创建MVC实例并挂载到路由分组,再于mvc.Configure回调内调用app.Handle绑定;否则不生效。需确保方法名符合HTTP动词、接收器参数类型合法,并通过访问路径验证404与否来确认绑定成功。

要在Iris框架中通过mvc.Configure注册并绑定控制器,必须先创建MVC应用实例,并将其挂载到指定路由分组上,否则控制器方法不会被自动识别和路由映射。
基础绑定:用mvc.Configure注册单个控制器
第一步:导入mvc包并定义控制器结构体,确保结构体方法命名符合HTTP动词规范(如Get、Post)。
第二步:调用iris.Party("/api")创建子路由分组,传入该分组到mvc.Configure的第一个参数。
第三步:在Configure的第二个参数中定义回调函数,在函数体内调用app.Handle(new(MyController))完成绑定。【必须在此回调内调用Handle,不能在Configure外部直接调用】
这一步操作起来很简单,直接把控制器实例传进去就行,但若漏掉app.Party()或把Handle写在回调外,整个控制器将完全不生效。
进阶绑定:批量注册多个控制器
方法一:多次调用Configure,每次绑定一个控制器——适合路径隔离明确的模块(如/user、/admin各自独立)。
方法二:在同一个Configure回调中连续调用app.Handle多次,分别传入不同控制器实例——注意所有控制器将共享同一级路由前缀。
方法三:使用app.Register预注册依赖服务,再在Handle前通过b.Dependencies().Add(...)注入,适用于控制器需复用数据库连接等共享资源的场景。
关键校验:确认绑定是否成功
启动服务后,访问对应路径(如GET /api),若返回404,说明控制器未绑定成功;此时应检查:是否遗漏app.Run()、是否在Configure回调内调用了Handle、控制器方法名是否大小写准确(如GetLogin对应/api/login)。
控制器方法接收器参数类型必须是int、int64、bool或string,其他类型会导致运行时报错且无明确提示。


















