参考Netflix的dispatch项目的Python FastAPI项目框架。
- OPEN_DOC: 是否开放文档,默认为
True
- TITLE:文档标题,默认为
FastAPI Skeleton
设计准则参考:fastapi-best-practices
- 目录结构简单,通过名称即可了解模块功能
- 善用Pydantic
- 校验输入合法性
- 应用配置读取
- 善用Depends
- 基于数据库验证数据
- Depends嵌套,避免代码重复
- FastAPI默认在请求的scope中缓存Depends的结果,因此推荐将Depends解耦到作用域很小的函数中,便于重用
- 路由设计遵循REST风格
- 异步路由中不要使用阻塞I/O操作
- 文档管理
- 除非API是对外公开,否则默认隐藏文档
- 通过
response_model
、status_code
、description
等属性协助FastAPI生成更容易理解的文档