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.
<span>关于命令</span>
的解释:
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)
相关推荐
liuxudong00 2020-11-19
wwzaqw 2020-11-11
lihaoxiang 2020-11-05
CrossingX 2020-11-04
xuegangic 2020-10-17
fanxiaoxuan 2020-09-17
安卓猴 2020-09-12
惠秀宝 2020-09-08
wwzaqw 2020-09-04
chenyingSunny 2020-09-04
是nsacer先森的 2020-09-03
bigname 2020-08-25
gaoqiang00 2020-08-24
灵均兰草 2020-08-20
xjp 2020-08-17
webgm 2020-08-16
wiky 2020-08-05
歆萌 2020-08-03
89961330 2020-07-28