FastAPI学习-1.环境准备与基础入门
前言
FastAPI 是一个用于构建 API 的现代、快速(高性能)的 web 框架,使用 Python 3.6+ 并基于标准的 Python 类型提示。
FastAPI 简介
FastAPI 关键特性:
- 快速:可与 NodeJS 和 Go 比肩的极高性能(归功于 Starlette 和 Pydantic)。最快的 Python web 框架之一。
- 高效编码:提高功能开发速度约 200% 至 300%。*
- 更少 bug:减少约 40% 的人为(开发者)导致错误。*
- 智能:极佳的编辑器支持。处处皆可自动补全,减少调试时间。
- 简单:设计的易于使用和学习,阅读文档的时间更短。
- 简短:使代码重复最小化。通过不同的参数声明实现丰富功能。bug 更少。
- 健壮:生产可用级别的代码。还有自动生成的交互式文档。
- 标准化:基于(并完全兼容)API 的相关开放标准:OpenAPI (以前被称为 Swagger) 和 JSON Schema。
环境准备
只需 pip 就能安装 fastapi 了
pip install fastapi
还需安装uvicorn
,用作运行代码的服务器
pip install uvicorn[standard]
也可以一次性安装fastapi和相关依赖
pip install fastapi[all]
创建项目
在 pycharm 创建一个学习项目,默认用的虚拟环境
打开 Terminal 使用 pip 安装依赖包
实现第一个 hello world请求
写一个简单的get请求,访问/
根路径,返回{"message": "Hello World"}
以下代码保存到main.py
文件
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World"}
接下来用命令行启动服务
uvicorn main:app --reload
启动服务日志内容
(venv) D:\xuexi\apidemo>uvicorn main:app --reload
?[32mINFO?[0m: Will watch for changes in these directories: ['D:\\xuexi\\apide
mo']
?[32mINFO?[0m: Uvicorn running on ?[1mhttp://127.0.0.1:8000?[0m (Press CTRL+C
to quit)
?[32mINFO?[0m: Started reloader process [?[36m?[1m16552?[0m] using ?[36m?[1mwa
tchgod?[0m
?[32mINFO?[0m: Started server process [?[36m18548?[0m]
?[32mINFO?[0m: Waiting for application startup.
?[32mINFO?[0m: Application startup complete.
uvicorn main:app
命令含义如下:
main
:main.py 文件(一个 Python「模块」)。app
:在 main.py 文件中通过 app = FastAPI() 创建的对象。--reload
:让服务器在更新代码后重新启动。仅在开发时使用该选项。
打开浏览器访问http://127.0.0.1:8000
看到返回{"message":"Hello World"}
说明第一个接口调试成功
交互式API文档
浏览器访问 http://127.0.0.1:8000/docs,会看到自动生成的 Swagger 接口文档
展开详情内容
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
2021-02-24 面试题-websocket 接口如何测试?