首页 > 其他分享 >Fastapi 框架知识点总结

Fastapi 框架知识点总结

时间:2023-10-01 16:13:49浏览次数:42  
标签:知识点 依赖 框架 Fastapi 模型 中间件 参数 数据库

【一】引入

  • 为什么Fastapi火

【二】Starlette,Pydantic 与 FastAPI 框架是什么关系?

  • Starlette 介绍
  • Pydantic 介绍
  • 三者之间的联系

【三】Pydantic使用方法

  • 介绍
  • 类模型的定义及使用
  • 递归模型
  • ORM操作

【四】Fastapi环境搭建及初步使用

  • Fastapi环境搭建
    • 注意不同版本的包之间的兼容性问题

【五】Fastapi简单使用

  • Fastapi 简单使用
  • 交互文档

【六】Fastapi路径参数和数据的解析验证

  • Fastapi 项目构建
  • 路径参数和数据的验证
  • 枚举类型
  • 文件类型
  • 路径参数(数字类型)的验证
  • 路径参数(字符串类型)的验证
  • 查询参数和数据的验证

【七】Fastapi请求体参数及混合参数

  • 请求体和字段的验证
  • 多参数混合验证
  • 数据格式嵌套的请求体

【八】Fastapi的Cookie和Header参数

  • Cookie 操作
  • Header 操作

【九】Fastapi响应模型

  • 自定义响应模型
  • 不同响应模型取并集
  • 使用多个响应模型类
  • 如何包含/排除模型类中的字段
  • 响应状态码

【十】Fastapi表单数据处理

  • 表单参数的处理
  • 单文件/多文件上传
  • 静态文件配置
  • 路径操作配置
  • Fastapi 的常见配置项
  • Fastapi 的异常处理
  • 自定义全局异常处理

【十一】依赖注入系统

  • 依赖注入系统介绍
  • 创建、导入、声明依赖
  • 类作为依赖项
  • 子依赖的创建和调用
  • 路径装饰器中的多依赖
  • 全局依赖的使用
  • 使用 yield 的依赖和子依赖

【十二】Fastapi的OAuth2.0的授权模式

  • 什么是OAuth2.0的授权模式

  • 什么是密码授权模式

    • Fastapi 中使用密码授权模式
  • 什么是JWT授权模式

    • Fastapi 中使用JWT

【十三】Fastapi中的数据库SQLAlchemy ORM 操作

  • 大型结构的目录结构
  • 创建数据库句柄
    • 链接数据库的相关配置
  • 定义数据库字段
    • 创建模型类字段
  • 定义响应模型类
    • 根据模型类字段定义响应返回的数据库字段
  • 封装数据库操作
    • 对数据库的增删查改操作,封装成函数调用
  • 书写视图函数
    • 处理业务的视图逻辑

【十四】Fastapi中的Jinja2模板渲染前端页面

  • Fastapi 的前后端混合开发模式,如何渲染前端页面

【十五】中间件、跨域资源共享、后台任务、测试用例

  • Fastapi 中的中间件
    • 介绍中间件
    • 如何书写中间件
    • 如何使用中间件
  • Fastapi 中的跨域问题
    • 什么是跨域资源共享
    • 如何解决
  • Fastapi 中的后台任务(类celery)
    • 如何编写后台任务,实现异步任务执行
    • 类似于发送邮箱等后台操作
  • Fastapi 中的测试用例编写
    • 书写简单的测试用例脚本

标签:知识点,依赖,框架,Fastapi,模型,中间件,参数,数据库
From: https://www.cnblogs.com/dream-ze/p/17738922.html

相关文章

  • 【2.0】Starlette,Pydantic 与 FastAPI 框架是什么关系?
    【一】介绍Starlette是个什么项目;IDE开发时Python3.5+版本的"typehints"的好处:简短、直观和标准的Python类型声明;介绍Pydantic包,FastAPI项目的开发为什么要使用Pydantic【二】Starlette【1】介绍Starlette是一种轻量级的ASGI框架/工具包,是构建高性能......
  • 【5.0】Fastapi路径参数和数据的解析验证
    【一】小项目构建【1】文档结构树projects├─coronavirus├─__init__.py ├─....py├─turtorial ├─__init__.py ├─chapter03.py ├......
  • 【4.0】Fastapi简单使用
    【一】Fastapi引入【1】构建基础的fastapi项目fromfastapiimportFastAPIfromtypingimportOptionalfrompydanticimportBaseModel#创建fastapi对象app=FastAPI()#定义模型表classCityInfo(BaseModel):#省份province:str#城市coun......
  • 【3.0】Fastapi环境搭建及初步使用
    【一】环境准备【1】第三方包requirements.txtaiofiles==0.6.0atomicwrites==1.4.0attrs==20.3.0bcrypt==3.2.0certifi==2020.12.5cffi==1.14.4chardet==4.0.0click==7.1.2colorama==0.4.4cryptography==3.3.1dnspython==2.0.0ecdsa==0.14.1email-validator==1.1......
  • 【9.0】Fastapi表单数据处理
    【一】表单参数【1】定义视图fromfastapiimportAPIRouter,status,FormfrompydanticimportBaseModel,EmailStrfromtypingimportOptional,Union,Listapp04=APIRouter()###表单数据处理@app04.post("/login/")asyncdeflogin(#username用户名......
  • 【8.0】Fastapi响应模型
    【一】自定义响应模型【1】定义视图函数fromfastapiimportAPIRouterfrompydanticimportBaseModel,EmailStrfromtypingimportOptionalapp04=APIRouter()###响应模型#定义基本类classUserBase(BaseModel):#定义字段username:用户名类型为str:......
  • 【6.0】Fastapi请求体参数及混合参数
    【一】说明项目接上小结【二】请求体和字段fromfastapiimportAPIRouter,Path,QueryfrompydanticimportBaseModel,Fieldapp03=APIRouter()##请求体字段classCityInfo(BaseModel):#给name字段添加注解#...:表示必填字段#example:表示......
  • 【13.0】Fastapi中的Jinja2模板渲染前端页面
    【一】创建Jinja2引擎#必须模块fromfastapiimportRequest#必须模块fromfastapi.templatingimportJinja2Templates#创建子路由application=APIRouter()#创建前端页面配置templates=Jinja2Templates(directory='./coronavirus/templates')#初始化数据库......
  • 【12.0】Fastapi中的数据库SQLAlchemy ORM 操作
    【一】大型项目结构树coronavirus ├─static #静态文件 ├─templates #前端页面 ├─__init__.py #初始化文件 ├─database.py #数据库操作 ├─models.py #数据库表模型类 ├─schemas.py #响应体模型类 ├─curd.py #视图函数 └─main.py #......
  • 【11.0】Fastapi的OAuth2.0的授权模式
    【一】OAuth2.0的授权模式授权码授权模式(AuthorizationCodeGrant)隐式授权模式(ImplicitGrant)密码授权模式(ResourceOwnerPasswordCredentialsGrant)客户端凭证授权模式(ClientCredentialsGrant)【二】密码授权模式【1】FastAPI的OAuth2PasswordBearer说明......