FastAPI(1)- 简单介绍

简介: FastAPI(1)- 简单介绍

前言


为啥要学它呢,因为学 Flask 的时候发现有人更推荐它代替 Flask,看了下介绍,感觉很强,而且也能拿来做平台,当然学起来!卷起来!

 

为什么要使用 FastAPI ?


  • 日渐没落的是后端 HTML 渲染这种方式,比如 Flask + Jinja2
  • 前后端分离成为主流
  • 异步框架

 

官方地址

https://fastapi.tiangolo.com/

 

FastAPI 是什么?


  • FastAPI是一个现代、快速(高性能)的web框架
  • 用于基于标准 Python 类型提示使用 Python 3.6+ 构建API

 

FastAPI 版本要求


支持 Python 3.6+

 

FastAPI 优点


直接搬官网

  • 类型检查、自动 swagger UI、支持 asyncio、强大的依赖注入系统
  • 围绕着框架本身的插件生态,比如 pydantic,sqlalchemy,成熟
  • 速度快:非常高的性能,与 NodeJS 和 Go 不相上下,多亏 Starlette 和 Pydantic,FastAPI 是最快的 Python 框架之一;
  • 编码快:将开发特性所需的速度提高大约 200% 到 300%;
  • 错误少:减少大约 40% 的人为(开发)错误;
  • 直观:强大的编辑器支持,支持多场景开发,调试所花的时间更少;
  • 简单:被设计为易于使用和学习,减少阅读文档的时间;
  • 代码少:最小化重复,更少的错误;
  • 健壮:代码可随时部署到生产环境,并自动提供交互文档;
  • 标准:基于(并完全兼容) api 的开放标准:OpenAPI (以前称为 Swagger )和 JSON 模式

 

Pydantic 在 FastAPI


 

Type Hints 在 FastAPI


 

使用 FastAPI 时用 Type Hints 声明参数可以获得

  • 编辑器支持智能提示,错误检查
  • 类型检查,不对会报 warning

 

FastAPI 还会用类型提示来做

  • 定义参数要求:声明对请求路径参数、查询参数、请求头、请求体、依赖等的要求
  • 转换数据:将来自请求的数据转换为需要的类型
  • 校验数据: 对于每一个请求当数据校验失败时自动生成错误信息返回给客户端
  • 使用 OpenAPI 记录 API:然后用于自动生成交互式文档的用户界面,参数会显示对应的类型注释
相关文章
|
机器学习/深度学习 缓存 Kubernetes
FastAPI(62)- FastAPI 部署在 Docker
FastAPI(62)- FastAPI 部署在 Docker
1166 0
FastAPI(62)- FastAPI 部署在 Docker
|
8月前
|
JSON JavaScript API
fastapi基础篇
fastapi基础篇
139 0
|
机器学习/深度学习 运维 并行计算
PyTorch Python API详解大全(持续更新ing...)(下)
PyTorch Python API详解大全(持续更新ing...)(下)
PyTorch Python API详解大全(持续更新ing...)(下)
|
JSON 数据库 数据格式
FastAPI(46)- JSONResponse
FastAPI(46)- JSONResponse
293 0
FastAPI(46)- JSONResponse
FastAPI(7)- 详解 Path(上)
FastAPI(7)- 详解 Path(上)
209 0
FastAPI(7)- 详解 Path(上)
|
API Python
FastAPI(7)- 详解 Path(下)
FastAPI(7)- 详解 Path(下)
133 0
FastAPI(7)- 详解 Path(下)
|
JSON API 数据格式
FastAPI(2)- 快速入门
FastAPI(2)- 快速入门
467 0
FastAPI(2)- 快速入门
|
安全 Linux 测试技术
FastAPI(57)- 安全相关的概念
FastAPI(57)- 安全相关的概念
106 0
|
Python
FastAPI(3)- uvicorn.run()
FastAPI(3)- uvicorn.run()
1005 0
FastAPI(3)- uvicorn.run()
FastAPI(10)- 详解 Body(下)
FastAPI(10)- 详解 Body(下)
236 0
FastAPI(10)- 详解 Body(下)