用FastAPI编写RESTful接口

安装

开始之前,需要先安装 fastapi 包,一般使用 pip 命令即可:

$ pip install fastapi

此外,还需要一个 ASGI 服务器,生产环境可以使用 UvicornHypercorn

$ pip install uvicorn

例子

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
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}

运行

将以上例子保存为 main.py ,接着用 uvicorn 启动程序:

$ uvicorn main:app --reload
INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO:     Started reloader process [6839] using statreload
INFO:     Started server process [6841]
INFO:     Waiting for application startup.
INFO:     Application startup complete.

如果你看到以上输出,说明 API 服务已经正常运行。

验证

我们用 curl 命令访问 API ,看是否符合预期:

$ curl http://127.0.0.1:8000/
{"Hello":"World"}
$ curl http://127.0.0.1:8000/items/123?q=abc
{"item_id":123,"q":"abc"}

附录

订阅更新,获取更多学习资料,请关注我们的 微信公众号

微信搜索:小菜学编程

创作不易,如果觉得我们写得还行,就请我们喝杯咖啡吧😋

微信搜索:小菜学编程