fangmartin / fastapi-skeleton

基于Netflix dispatch的FastAPI脚手架

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

简介

参考Netflix的dispatch项目的Python FastAPI项目框架。

配置参数

文档

  • OPEN_DOC: 是否开放文档,默认为True
  • TITLE:文档标题,默认为FastAPI Skeleton

设计准则

设计准则参考:fastapi-best-practices

  1. 目录结构简单,通过名称即可了解模块功能
  2. 善用Pydantic
    1. 校验输入合法性
    2. 应用配置读取
  3. 善用Depends
    1. 基于数据库验证数据
    2. Depends嵌套,避免代码重复
    3. FastAPI默认在请求的scope中缓存Depends的结果,因此推荐将Depends解耦到作用域很小的函数中,便于重用
  4. 路由设计遵循REST风格
  5. 异步路由中不要使用阻塞I/O操作
  6. 文档管理
    1. 除非API是对外公开,否则默认隐藏文档
    2. 通过response_modelstatus_codedescription等属性协助FastAPI生成更容易理解的文档

About

基于Netflix dispatch的FastAPI脚手架


Languages

Language:Python 98.5%Language:Dockerfile 1.5%