Fastapi
middleware or dependency 官方说明 场景: 项目使用了sqlite+sqlalchemy,暂时不支持async方式访问,但是fastapi的middleware的 __call__ 方法必须是async,如果在middleware中去做用户会话管理等和db相关的io操作可能导致整个应用阻塞。 解决: 使用def的dependency组合完成相关操作 官方对于两个组件的对比说明: middleware 代码多一些,更复杂一些 必须是async方法 任何需要IO代码的添加都可能导致整个应用速度变慢或者阻塞 每个请求都会执行相关代码,如果是db的话,即使路由函数不需要也会创建