fastapi是高性能的web框架。他的主要特点是:
- 快速编码
- 减少人为bug
- 直观
- 简易
- 具有交互式文档
- 基于API的开放标准(并与之完全兼容):OpenAPI(以前称为Swagger)和JSON Schema。

技术背景:python3.6+、Starlette、Pydantic

安装

pip install fastapi
pip install uvicorn

quick start

main.py

from fastapi import FastAPIapp = 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}

或者

from fastapi import FastAPIapp = 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}

运行

uvicorn main:app --reload

看到如下提示,证明运行成功

main: 表示app所在文件名
app:FastAPI实例
reload:debug模式,可以自动重启

试着请求http://127.0.0.1:8000/items/5?q=somequery,会看到如下返回

{"item_id": 5, "q": "somequery"}

交互文档

试着打开http://127.0.0.1:8000/docs

API文档

试着打开http://127.0.0.1:8000/redoc

update

通过上面的例子,我们已经用fastapi完成了第一个web服务,现在我们再添加一个接口

from fastapi import FastAPI
from pydantic import BaseModelapp = FastAPI()class Item(BaseModel):name: strprice: floatis_offer: bool = None@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}@app.put("/items/{item_id}")
def update_item(item_id: int, item: Item):return {"item_name": item.name, "item_id": item_id}

此时会发现,服务自动重启了,这是因为我们在启动命令后添加了--reload。再次查看文档,发现同样发生了改变。
到此,你已经可以快速的用fastapi搭建起服务了~

fastapi——快速入门相关推荐

  1. fastapi——简单快速入门

    fastapi--快速入门笔记 根据慕课网视频教程 地址:https://www.bilibili.com/video/BV1iN411X72b?p=36 print("\033[31m5. ...

  2. FastAPI简单入门

    FastAPI简单入门 简介 FastAPI 是一个用于构建 API 的现代.快速(高性能)的 web 框架,使用 Python 3.6+ 并基于标准的 Python 类型提示. 关键特性: 快速:可 ...

  3. Shiro第一个程序:官方快速入门程序Qucickstart详解教程

    目录 一.下载解压 二.第一个Shiro程序 1. 导入依赖 2. 配置shiro配置文件 3. Quickstart.java 4. 启动测试 三.shiro.ini分析 四.Quickstart. ...

  4. 计算机入门新人必学,异世修真人怎么玩?新手快速入门必备技巧

    异世修真人怎么快速入门?最近新出来的一款文字修仙游戏,很多萌新不知道怎么玩?进小编给大家带来了游戏新手快速入门技巧攻略,希望可以帮到大家. 新手快速入门攻略 1.开局出来往下找婆婆,交互给点钱,旁边有 ...

  5. Spring Boot 2 快速教程:WebFlux 快速入门(二)

    2019独角兽企业重金招聘Python工程师标准>>> 摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘 ...

  6. Apache Hive 快速入门 (CentOS 7.3 + Hadoop-2.8 + Hive-2.1.1)

    2019独角兽企业重金招聘Python工程师标准>>> 本文节选自<Netkiller Database 手札> 第 63 章 Apache Hive 目录 63.1. ...

  7. 《iOS9开发快速入门》——导读

    本节书摘来自异步社区<iOS9开发快速入门>一书中的目录,作者 刘丽霞 , 邱晓华,更多章节内容可以访问云栖社区"异步社区"公众号查看 目 录 前 言 第1章 iOS ...

  8. BIML 101 - ETL数据清洗 系列 - BIML 快速入门教程 - 序

    BIML 101 - BIML 快速入门教程 做大数据的项目,最花时间的就是数据清洗. 没有一个相对可靠的数据,数据分析就是无木之舟,无水之源. 如果你已经进了ETL这个坑,而且预算有限,并且有大量的 ...

  9. python scrapy菜鸟教程_scrapy学习笔记(一)快速入门

    安装Scrapy Scrapy是一个高级的Python爬虫框架,它不仅包含了爬虫的特性,还可以方便的将爬虫数据保存到csv.json等文件中. 首先我们安装Scrapy. pip install sc ...

最新文章

  1. 开启apache的server-status辅助分析工具
  2. C#入门篇5-5:流程控制语句 dowhile
  3. Java的算法讲解以及案例!
  4. Jquery创建JSON对象
  5. SAP 电商云 Spartacus UI 模块延迟加载的入口程序
  6. 神经网络与深度学习笔记
  7. iisnode默认不支持PUT和DELETE的解决
  8. 使用Servlet和Bootstrap上传Ajax文件
  9. Matlab去掉矩阵中的全0行或列
  10. 检测React组件外部的点击
  11. 打造面向时代的“云中广科”,广科牵手华为探索校企合作新范式
  12. win7局域网计算机 慢,win7系统局域网传输速度很慢的方法介绍
  13. 中国***传说:游走在黑暗中的精灵
  14. 你所不知道的VoIP通信技术?
  15. 数字信号处理基础----正交基与正交函数集
  16. 二维导热问题的ADI-TDMA算法
  17. 天翼云荣获2022年度“边缘计算先锋企业”“分布式云先锋企业”称号!
  18. 手机号微信号绑定微信号_相关计算机,新手机号被绑定过微信号怎么办?这是个“二次”放号的号码...
  19. Vue单向绑定与双向绑定解析
  20. 机房动环监控系统方案组成及应用

热门文章

  1. Java毕设项目-医药信息管理系统
  2. 计算机辅助物理化学实验 唐典勇课后答案,计算机辅助物理化学实验(第2版)...
  3. CRM客户关系管理:赢得和留住客户的指南
  4. 2017开发语言排行(本人是搞C#+javascript的)
  5. 半双工通信和全双工通信的区别
  6. Markdown两键排版微信公众号文章
  7. python 阿里云平台合成语音(TTS)
  8. 前端模块化、组件化开发
  9. caj 获取my documents目录错误,可能“我的文档”目录不存在
  10. linux版英特尔酷睿i7,英特尔酷睿i7 1165G7和AMD Ryzen 7 Pro 4750U Linux性能对比