fastapi安装启动
pip install fastapi[all]
创建一个 main.py 文件并写入以下内容:
from typing import Union
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: Union[str, None] = None):
return {"item_id": item_id, "q": q}
运行
通过以下命令运行服务器:
uvicorn main:app --reload
使用浏览器访问 http://127.0.0.1:8000
你将会看到如下 JSON 响应:
{"item_id": 5, "q": "somequery"}
交互式 API 文档
现在访问 http://127.0.0.1:8000/docs
发现打开是空白页面,且pycharm中报错,提示访问不到静态资源。
因为是国外的静态资源,所以我们要下载下来存到本地,从本地启。
swagger-ui下载地址:
https://github.com/swagger-api/swagger-ui/tree/master/dist
下载内容:
redoc下载地址:
https://github.com/Redocly/redoc
下载内容:
百度云盘下载:
链接:https://pan.baidu.com/s/1h67KjIXaHYEqsxOrCjC45Q
提取码:exht
下载资源后,更改python安装路径下的docs.py配置文件
路径:
python安装路径\Lib\site-packages\fastapi\openapi
swagger_js_url: str = "/static/swagger-ui/swagger-ui-bundle.js",
swagger_css_url: str = "/static/swagger-ui/swagger-ui.css",
swagger_favicon_url: str = "/static/swagger-ui/img/favicon.png",
redoc_js_url: str = "/static/redoc/bundles/redoc.standalone.js",
redoc_favicon_url: str = "/static/redoc/img/favicon.png",
然后在main.py文件中加上如下代码:
导入StaticFiles库:
from fastapi.staticfiles import StaticFiles
app.mount("/static", StaticFiles(directory="static"), name="static")