前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >FastAPI学习-环境准备与基础入门

FastAPI学习-环境准备与基础入门

作者头像
wencheng
发布2022-04-18 13:53:31
6550
发布2022-04-18 13:53:31
举报

前言

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

关键特性:

快速:可与 NodeJS 和 Go 比肩的极高性能(归功于 Starlette 和 Pydantic)。最快的 Python web 框架之一。

  • 高效编码:提高功能开发速度约 200% 至 300%。*
  • 更少 bug:减少约 40% 的人为(开发者)导致错误。*
  • 智能:极佳的编辑器支持。处处皆可自动补全,减少调试时间。
  • 简单:设计的易于使用和学习,阅读文档的时间更短。
  • 简短:使代码重复最小化。通过不同的参数声明实现丰富功能。bug 更少。
  • 健壮:生产可用级别的代码。还有自动生成的交互式文档。
  • 标准化:基于(并完全兼容)API 的相关开放标准:OpenAPI (以前被称为 Swagger) 和 JSON Schema。

文档:https://fastapi.tiangolo.com

源码:https://github.com/tiangolo/fastapi

安装 FastAPI

第一个步骤是安装 FastAPI。

为了使用本教程,你可能需要安装所有的可选依赖及对应功能:

只需 pip 就能安装 fastapi 了

代码语言:javascript
复制
pip install fastapi

还需安装uvicorn,用作运行代码的服务器

代码语言:javascript
复制
pip install uvicorn[standard]

也可以一次性安装fastapi和相关依赖

代码语言:javascript
复制
pip install fastapi[all]

FastAPI 简单的demo

最简单的 FastAPI 文件可能像下面这样:

代码语言:javascript
复制
from fastapi import FastAPI
import uvicorn

app = FastAPI()

@app.get("/")
def read_root():
    return {"Hello": "FastAPI"}

if __name__ == '__main__':
    uvicorn.run('run_web:app', host='0.0.0.0', port=8001, reload=True, debug=True, workers=1)

接下来用命令行启动服务

代码语言:javascript
复制
方式1 :uvicorn main:app --reload
方式2 :引入import uvicorn
 uvicorn.run('run_web:app', host='0.0.0.0', port=8001, reload=True, debug=True, workers=1)
代码语言:javascript
复制
执行成功如下:
E:\fastapi_demo\venv\Scripts\python.exe E:/fastapi_demo/run_web.py
INFO:     Will watch for changes in these directories: ['E:\\fastapi_demo']
INFO:     Uvicorn running on http://0.0.0.0:8001 (Press CTRL+C to quit)
INFO:     Started reloader process [10424] using watchgod
INFO:     Started server process [20160]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
代码语言:javascript
复制

打开浏览器访问 http://127.0.0.1:8001

看到返回{"message":"Hello World"} 说明第一个接口调试成功 交互式 API 文档 浏览器访问 http://127.0.0.1:8001/docs,会看到自动生成的 Swagger 接口文档

可选的 API 文档 前往 http://127.0.0.1:8000/redoc。 你将会看到可选的自动生成文档 (由 ReDoc 提供):

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 自动化测试 To share 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装 FastAPI
  • FastAPI 简单的demo
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档