IRIS路由注册(接路由底层分析)

发布时间 2023-09-04 18:09:51作者: lisus2000

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框架这么规定的。