PYTHON >> FASTAPI >> 1 >> 基础

1、简介

FastAPI是一个用于构建API的高效web框架,使用python3.6+,并基于标准的Python类型语法。

2、特性

  • 快速:可与NodeJS和Go比肩的极高性能(Starlette 与Pydantic)。是最快的python web框架之一
  • 高效编码:提高2-3倍开发速度;
  • 更少bug:减少约四成的人为导致的错误;
  • 智能:极佳的编辑器支持。自动补全能力强大,减少调试时间;
  • 简单:易于学习和使用,阅读文档的时间更短;
  • 简短:代码重复最小化。通过不同的参数声明实现丰富功能。
  • 标准化:基于(并完全兼容)API 的相关开放标准:OpenAPI (以前被称为 Swagger) 和 JSON Schema。
2.1、基于开放标准
  • 用于创建 API 的 OpenAPI 包含了路径操作,请求参数,请求体,安全性等的声明。
  • 使用 JSON Schema (因为 OpenAPI 本身就是基于 JSON Schema 的)自动生成数据模型文档。
  • 经过了缜密的研究后围绕这些标准而设计。并非狗尾续貂。
  • 这也允许了在很多语言中自动生成客户端代码。
2.2、自动生成文档

交互式 API 文档以及具探索性 web 界面。因为该框架是基于 OpenAPI,所以有很多可选项,FastAPI 默认自带两个交互式 API 文档。

在这里插入图片描述

另外的 API 文档:ReDoc
在这里插入图片描述

2.3、简介

任何类型都有合理的默认值,任何和地方都有可选配置。所有的参数被微调,来满足你的需求,定义成你需要的 API。
但是默认情况下,一切都能“顺利工作”。

2.4、验证
  • 校验大部分(甚至所有?)的 Python 数据类型,包括:
    • JSON 对象 (dict).
    • JSON 数组 (list) 定义成员类型。
    • 字符串 (str) 字段, 定义最小或最大长度。
    • 数字 (int, float) 有最大值和最小值, 等等。
  • 校验外来类型, 比如:
    • URL.
    • Email.
    • UUID.
    • …及其他.

所有的校验都由完善且强大的 Pydantic 处理。

2.5、依赖注入

fastapi具有非常强大的依赖注入系统

  • 依赖也可以有依赖,可以创建一个层级或者“图”依赖;
  • 所有自动化处理都由框架完成;
  • 所有依赖关系都可以从请求中获取数据,并且增加了路径操作约束和自动文档生成;
  • 在依赖项中被定义的路径操作也会自动验证
  • 支持复杂的用户身份认证系统、数据库连接等;
  • 不依赖数据库、前端等;但是与他们的集成非常简单。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值