1.FastAPI简介
1.1FastAPI是什么?
FastAPI是一个现代的,快速(高性能)python web框架。基于标准的python类型提示,使用python3.6+构建API的Web框架。
FastAPI的主要特点如下:
快速:非常高的性能,与NodeJS和Go相当(这个要感谢Starlette和Pydantic),是最快的Python框架之一。
快速编码:将开发速度提高约200%到300%。
更少的bug:减少大约40%的开发人员人为引起的错误。
直观:强大的编辑器支持,调试时间更短。
简单:易于使用和学习。减少阅读文档的时间。
代码简洁:尽量减少代码重复。每个参数可以声明多个功能,减少程序的bug。
健壮:生产代码会自动生成交互式文档。
基于标准:基于并完全兼容API的开放标准:OpenAPI和JSON模式。
1.2环境准备
安装fastapi
pip install fastapi
对于生产环境,还需要一个ASGI服务器,如Uvicorn或Hypercorn
pip install "uvicorn[standard]"
1.3入门示例程序
新建一个main.py,编写如下程序:
from fastapi import FastAPI app = FastAPI() @app.get("/") def read_root(): return {"Hello": "World"} @app.get("/items/{item_id}") def read_item(item_id: int, q: str = None): return {"item_id": item_id, "q": q}
运行程序:
uvicorn main:app --reload INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) INFO: Started reloader process [28720] INFO: Started server process [28722] INFO: Waiting for application startup. INFO: Application startup complete.
命令 uvicorn main:app:
main:文件main.py(Python的“模块”)。
app:在main.py中app=FastAPI()行中创建的对象。
--reload:在代码更改后重新启动服务器。
在命令提示符下执行如下命令来检查程序返回结果:(我们使用curl作为请求工具)
C:\Users\Administrator>curl http://127.0.0.1:8000 {"Hello":"World"} C:\Users\Administrator>curl http://127.0.0.1:8000/items/1 {"item_id":1,"q":null} C:\Users\Administrator>curl http://127.0.0.1:8000/items/1?q=hello {"item_id":1,"q":"hello"}
使用异步(async/await)实现同样的功能,定义方法时使用 async def:
from fastapi import FastAPI app = FastAPI() @app.get("/") async def read_root(): return {"Hello": "World"} @app.get("/items/{item_id}") async def read_item(item_id: int, q: str = None): return {"item_id": item_id, "q": q}
1.FastAPI简介相关推荐
- FastAPI简介与快速体验
[原文链接]FastAPI简介与快速体验 文章目录 一.FastAPI简介 二.FastAPI的特点 三.安装 3.1 安装 fastapi 3.2 安装 ASGI 服务器 四.FastAPI快速体验 ...
- 用了fastapi还需要nginx_专门为API接口开发出现,FastAPI零门槛学习
大概在10年前第一次接触Python的Web开发框架Django之后,第一次觉得原来开发Web程序这么简单,只需要做一些很简单的设计就可以启动一个项目了,在那之前,我还短暂用过JAVA的SSH框架套装 ...
- FastAPI ------框架基础
FastAPI 一.初知FastAPI 1.1 FastAPI简介 1.2 安装FastAPI 1.2.1 虚拟环境安装 1.2.2 pip安装FastAPI 1.3 可能出现的问题 Error: [ ...
- 最快的Pythonweb框架之一:FastAPI 初探
最快的Pythonweb框架之一:FastAPI 初探 希望和大家一起来学习FastAPI 异步 web框架,记录一下,当做笔记. 文档资源: 官网:https://fastapi.tiangolo. ...
- python: 网络编程及fastapi快速搭建web服务器
一.网络编程 1.网络编程三要素 ip地址.端口.TCP协议 ip地址 ip地址作用: 根据ip地址能够找到网络中的具体设备(电脑,打印机) ip地址概念: ip地址是网络设备的唯一标识 ip地址分类 ...
- FastAPI异步 web 框架简介+搭配loguru实现日志服务(转载+补充)
这次我们来聊一聊 FastAPI,它和我们之前介绍的 Sanic 是类似的,都是 Python 中的异步 web 框架.相比 Sanic,FastAPI 更加的成熟.社区也更加的活跃,那么 FastA ...
- Python-web框架 fastapi
目录 简介 性能 api 文档 类型检查 蓝图APIRouter 自定义的tags与responses 注册 APIRouter 简介 官网教程(中文版):FastAPI python语言下的Web框 ...
- FastAPI 教程翻译 - 用户指南 26 - 安全性
FastAPI 教程翻译 - 用户指南 26 - 安全性 FastAPI Tutorial - User Guide - Secuity Security Intro 安全性简介 There are ...
- FastAPI简单入门
FastAPI简单入门 简介 FastAPI 是一个用于构建 API 的现代.快速(高性能)的 web 框架,使用 Python 3.6+ 并基于标准的 Python 类型提示. 关键特性: 快速:可 ...
最新文章
- ensp启动设备蓝屏_为什么早期的Windows经常死机蓝屏,现在却很少发生?这些你都知道吗?...
- MySQL查询出2门及2门以上不及格者的平均成绩
- python27文件夹_为什么python27.dll不是python安装文件夹的一部分,而是在Windows系统文件夹中...
- 计算机基础知识题库选择题,计算机基础知识篇选择题库
- 使用dict和set
- 如何在 Asp.Net Core 中对请求进行限流
- 图片横向滚动,两边有按钮控制
- python初学者怎么入门-python初学者怎么入门
- 【图像配准】基于matlab GUI光流场模型图像配准【含Matlab源码 831期】
- matlab单元刚度矩阵,求助:关于有限元三角形单元合成总刚度矩阵怎么处理
- 为什么acdsee服务器怎在运行,如何使用ACDSEE
- 微信小程序-蓝牙设备连接-蓝牙开门
- Android在GoogleMap(百度地图)实现自定义指南针旋转与回正功能
- EMI、EMS和EMC的区别
- 简单分析大量京东快递揽收后没有物流的单号
- ubuntu18.04安装MPV视频播放器
- 医疗行业容灾备份解决方案
- 多对多业务,数据库水平切分架构一次搞定(58沈剑)
- TortoiseSvn介绍
- 在AutoCAD2015如何设置栅格的显示与设置