模块位置:fastapi/routing.py 和 fastapi/dependencies/utils.py 功能:定义了路由的添加、解析和执行机制。 阅读重点: APIRouter:APIRouter 类的实现。了解如何定义路由组,以及如何将路由组添加到主应用中。 路由装饰器:@app.get、@app.post 等装饰器的实现。这些装饰器实际上调用了 add_api_route 方法。 依赖注入:如何解析和执行依赖项(Depends)。dependencies.utils 中的 solve_dependencies 函数是关键。 路径参数和查询参数:如何解析路径参数(Path)和查询参数(Query)。 请求体解析:如何解析请求体(Body),以及如何支持 JSON 和其他格式。
装饰器封装:@app.get、@app.post 等装饰器将函数封装为 APIRoute 对象,并添加到 routes 列表14。 同步/异步路由处理:异步函数直接由事件循环执行,同步函数通过线程池运行,避免阻塞主线程14。
On this page
← Previous postFastApi框架源码赏析-核心应用模块
Next post →FastApi框架源码赏析-核心应用模块