https://cloud.tencent.com/developer/article/1431448
使用FastAPI可以非常快速的构建出一套高性能的api服务。下面通过实战演示一下:
fastapi目前仅支持python 3.6+以上版本。
一、安装fastapi和uvicorn
pip install fastapi pip install uvicorn
二、新建一个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}
三、运行接口服务
在命令行,执行下面的命令
uvicorn main:app --reload
四、请求接口
运行成功后在浏览器打开http://127.0.0.1:8000 ,你将在一个JSON格式响应结果:
{'hello':'world'}
再次在浏览器打开http://127.0.0.1:8000/items/5?q=somequery,你将在一个如下JSON格式响应结果:
{'item_id':5,'q':'somequery'}
五、可视化API文档
现在在浏览器中打开http://127.0.0.1:8000/docs,你会看到一个可以交互的api文档
你也可以其他方法的装饰器:
@app.post()
@app.put()
@app.delete()
还有一些比较少见的方法的装饰器:
@app.options()
@app.head()
@app.patch()
@app.trace(
建议
你可以使用任意的HTTP方法.
FastAPI不强制任何特定函数。
此处提供的信息,仅供参考,并非必需。
例如,当使用 GraphQL , 你通常会只执行post
方法
总结
- Import
FastAPI
. - 创建一个
app
实例. - 编写一个 路径操作装饰器 (比如
@app.get("/")
). - 编写一个路径操作函数 (比如上方的
def root(): ...
). - 运行开发服务器(比如
uvicorn main:app --reload
).
文档: https://fastapi.tiangolo.com/
https://www.jianshu.com/p/daf9150c0466