我几个year来没有太多时间接触Python,并且主要来自Django的背景。我尝试了解为什么Fastapi最好的实践会是将数据库注入到API调用中,所有的数据库操作都在API代码中实现。这是在服务中通常会进行的操作,如果数据库逻辑变得复杂,我认为应该将其抽象化。如果我知道如何将数据库会话传递给服务进行复杂工作,但为什么要这样做?在我的观点中,API不需要知道是否存在数据库,它也不关心数据项如何创建、读取、更新或删除。

这是FastAPI应用程序组织方式的一种特定约定还是我理解不足?有没有指向以不同方式组织API的示例代码仓库或博客的链接?