fastapi——快速入门
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——快速入门相关推荐
- fastapi——简单快速入门
fastapi--快速入门笔记 根据慕课网视频教程 地址:https://www.bilibili.com/video/BV1iN411X72b?p=36 print("\033[31m5. ...
- FastAPI简单入门
FastAPI简单入门 简介 FastAPI 是一个用于构建 API 的现代.快速(高性能)的 web 框架,使用 Python 3.6+ 并基于标准的 Python 类型提示. 关键特性: 快速:可 ...
- Shiro第一个程序:官方快速入门程序Qucickstart详解教程
目录 一.下载解压 二.第一个Shiro程序 1. 导入依赖 2. 配置shiro配置文件 3. Quickstart.java 4. 启动测试 三.shiro.ini分析 四.Quickstart. ...
- 计算机入门新人必学,异世修真人怎么玩?新手快速入门必备技巧
异世修真人怎么快速入门?最近新出来的一款文字修仙游戏,很多萌新不知道怎么玩?进小编给大家带来了游戏新手快速入门技巧攻略,希望可以帮到大家. 新手快速入门攻略 1.开局出来往下找婆婆,交互给点钱,旁边有 ...
- Spring Boot 2 快速教程:WebFlux 快速入门(二)
2019独角兽企业重金招聘Python工程师标准>>> 摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘 ...
- Apache Hive 快速入门 (CentOS 7.3 + Hadoop-2.8 + Hive-2.1.1)
2019独角兽企业重金招聘Python工程师标准>>> 本文节选自<Netkiller Database 手札> 第 63 章 Apache Hive 目录 63.1. ...
- 《iOS9开发快速入门》——导读
本节书摘来自异步社区<iOS9开发快速入门>一书中的目录,作者 刘丽霞 , 邱晓华,更多章节内容可以访问云栖社区"异步社区"公众号查看 目 录 前 言 第1章 iOS ...
- BIML 101 - ETL数据清洗 系列 - BIML 快速入门教程 - 序
BIML 101 - BIML 快速入门教程 做大数据的项目,最花时间的就是数据清洗. 没有一个相对可靠的数据,数据分析就是无木之舟,无水之源. 如果你已经进了ETL这个坑,而且预算有限,并且有大量的 ...
- python scrapy菜鸟教程_scrapy学习笔记(一)快速入门
安装Scrapy Scrapy是一个高级的Python爬虫框架,它不仅包含了爬虫的特性,还可以方便的将爬虫数据保存到csv.json等文件中. 首先我们安装Scrapy. pip install sc ...
最新文章
- 开启apache的server-status辅助分析工具
- C#入门篇5-5:流程控制语句 dowhile
- Java的算法讲解以及案例!
- Jquery创建JSON对象
- SAP 电商云 Spartacus UI 模块延迟加载的入口程序
- 神经网络与深度学习笔记
- iisnode默认不支持PUT和DELETE的解决
- 使用Servlet和Bootstrap上传Ajax文件
- Matlab去掉矩阵中的全0行或列
- 检测React组件外部的点击
- 打造面向时代的“云中广科”,广科牵手华为探索校企合作新范式
- win7局域网计算机 慢,win7系统局域网传输速度很慢的方法介绍
- 中国***传说:游走在黑暗中的精灵
- 你所不知道的VoIP通信技术?
- 数字信号处理基础----正交基与正交函数集
- 二维导热问题的ADI-TDMA算法
- 天翼云荣获2022年度“边缘计算先锋企业”“分布式云先锋企业”称号!
- 手机号微信号绑定微信号_相关计算机,新手机号被绑定过微信号怎么办?这是个“二次”放号的号码...
- Vue单向绑定与双向绑定解析
- 机房动环监控系统方案组成及应用
热门文章
- Java毕设项目-医药信息管理系统
- 计算机辅助物理化学实验 唐典勇课后答案,计算机辅助物理化学实验(第2版)...
- CRM客户关系管理:赢得和留住客户的指南
- 2017开发语言排行(本人是搞C#+javascript的)
- 半双工通信和全双工通信的区别
- Markdown两键排版微信公众号文章
- python 阿里云平台合成语音(TTS)
- 前端模块化、组件化开发
- caj 获取my documents目录错误,可能“我的文档”目录不存在
- linux版英特尔酷睿i7,英特尔酷睿i7 1165G7和AMD Ryzen 7 Pro 4750U Linux性能对比