IRIS路由注册
实例化完Application
对象,接着就是路由注册了。也就是类似下面的代码
看看api.Get 实现
我们主要看app.Get("/home", HomeHandler)
这个函数的实现。进入该Get
函数的源码,发现调用者是APIBuilder
结构体,如下:
这是因为在Application
结构体中嵌套了router.APIBuilder
结构体,所以Application
自然也就嵌套了APIBuilder
结构体的所有方法。
在Get
的这个方法中,我们看第二个参数handlers
的类型是context.Handler
,其定义如下是 type Handler func(*Context)
,这就是为什么我们把HomeHandler
定义这种类型的原因。本质上也可以说没有为什么,就是iris框架这么规定的。