FastApi学习开发环境安装
Posted 麦克煎蛋
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FastApi学习开发环境安装相关的知识,希望对你有一定的参考价值。
一、依赖项
Python 3.6+
FastAPI 站在这些巨人的肩膀上
二、安装
1、pip install fastapi
2、我们需要一个ASGI服务器,可以使用 Uvicorn 或 Hypercorn。
pip install uvicorn
三、示例
1、新建文件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}
或者使用async定义函数:
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}
2、运行
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.
关于命令
的解释:
main
: 文件main.py
(Python "模块").app
:main.py
创建的实例app = FastAPI()
.--reload
: 代码有改动时服务会自动重启(仅适用于开发环境)
3、接口访问
在浏览器中访问地址:http://127.0.0.1:8000/items/5?q=somequery
我们可以看到响应结果:
{"item_id": 5, "q": "somequery"}
4、我们实际上实现了具有以下功能的一个API:
- 接收以下路径的HTTP请求:
/
和/items/{item_id}
. - 这两个路径都接收GET请求.
- 路径
/items/{item_id}
具有一个路径参数item_id
并且类型必须为int
. - 路径
/items/{item_id}
具有一个可选的查询参数 q 并且类型必须为 str.
四、交互式API文档
我们访问以下两个地址,可获取自动生成的交互式API文档,并且当代码改动时文档会自动更新。方便我们的开发调试。
1、http://127.0.0.1:8000/docs (基于 Swagger UI)
2、http://127.0.0.1:8000/redoc (基于 ReDoc)
以上是关于FastApi学习开发环境安装的主要内容,如果未能解决你的问题,请参考以下文章
API接口开发其实特简单,Python FastApi Web 框架教程来了