使用(Python)FastAPI快速构建你的后端接口服务

FastAPI是一个基于 Python 的后端框架,该框架鼓励使用 Pydantic 和 OpenAPI (以前称为 Swagger) 进行文档编制,使用 Docker 进行快速开发和部署以及基于 Starlette 框架进行的简单测试。

开发环境:Python3.6+

一、安装

pip install fastapi uvicorn

使用(Python)FastAPI快速构建你的后端接口服务_第1张图片

二、构建代码

创建一个main.py文件。引入FastAPI这个模块,就可以构建接口了!

from fastapi import FastAPI, Query

app = FastAPI()

@app.get("/")
def hello():
    return {"Hello": "World"}

@app.get('/user')
async def user(
        *,
        user_id: int = Query(..., title="The ID", gt=0)
):
return {'user_id': user_id}

就和flask一样,实例化app,在每个接口函数上加上路由就可以了。这边写了个简单的hello world可以了解一下。

这里有必要说明一下,例如我们 /user 接口,它在指明参数的时候对参数做了限制,只能使用int类型的数据,这是因为Fast API是基于Pydantic开发的(Pydantic主要就是用来做强制类型检测的)。

除了get,我们也可以创建post接口:

@app.post('/user/update')
async def update_user(
    *,
    user_id: int,
    really_update: int = Query(...)
):
    return {'user_id': user_id}

三、运行你的接口应用

和其他的模块不一样的是,FastAPI需要运行指定命令来运行api服务:

需要在当前目录下执行下面的命令,他会主动去找到main入口:

uvicorn main:app --reload

运行成功后在浏览器打开http://127.0.0.1:8000

或者http://localhost:8000 ,你就可以拿到hello方法(默认路由)返回的JSON格式响应结果了:

使用(Python)FastAPI快速构建你的后端接口服务_第2张图片

这就是我们刚刚写的hello函数(默认路由)了.

下面我们可以访问一下刚才写的user接口,我们需要传入参数userid(指定整数类型),即可拿到返回值。

使用(Python)FastAPI快速构建你的后端接口服务_第3张图片

四、关于文档

我们创建的应用,FastAPI给我们也创建好相应的接口文档,方便使用者的调用和查看,对开发者来说非常友好,也省去了我们写文档的时间了!

打开http://127.0.0.1:8000/docs,就可以查看你接口的api文档了~

使用(Python)FastAPI快速构建你的后端接口服务_第4张图片

这就是我们刚刚创建的两个接口。

使用(Python)FastAPI快速构建你的后端接口服务_第5张图片

对于每个接口还有详细的说明以及测试请求。

使用(Python)FastAPI快速构建你的后端接口服务_第6张图片

除此之外,Fast API还提供了另一种书写风格说明文档,地址:

http://127.0.0.1:8000/redoc

使用(Python)FastAPI快速构建你的后端接口服务_第7张图片

五、更多开发指南

欢迎参考官网:https://fastapi.tiangolo.com/

使用(Python)FastAPI快速构建你的后端接口服务_第8张图片

以上便是FastAPI的入门指南,对于Django或是Flask来说,确实方便了很多,希望以后大家也可以多使用它来快速构建自己的后端接口~

大家如果想更多的了解Fast API的话,欢迎加入我的交流群。

回复「进群」即可进入Python技术交流群。

“扫一扫,获取更多有意思的内容”

你可能感兴趣的:(使用(Python)FastAPI快速构建你的后端接口服务)