标签:结果 roc loader redo 文件 cat ted 更新 complete
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:
/
和 /items/{item_id}
./items/{item_id}
具有一个路径参数 item_id
并且类型必须为 int
./items/{item_id}
具有一个可选的查询参数 q 并且类型必须为 str. 我们访问以下两个地址,可获取自动生成的交互式API文档,并且当代码改动时文档会自动更新。方便我们的开发调试。
1、http://127.0.0.1:8000/docs (基于 Swagger UI)
2、http://127.0.0.1:8000/redoc (基于 ReDoc)
标签:结果 roc loader redo 文件 cat ted 更新 complete
原文地址:https://www.cnblogs.com/mazhiyong/p/12808529.html