目录
- 准备工作
- 代码
- 运行
说明:本文通过 FastAPI 实现返回两个参数 a+b 的值;
准备工作
默认读者已准备完善 Python IDE工具以及包管理工具。
首先,需要安装 fastapi
和 uvicorn
库,如果没有请使用 pip 进行安装:
pip install fastapi uvicorn
其次,需下载安装完成 Postman 软件,以用来实现参数传递功能;
Postman 下载链接:https://www.postman.com/downloads/
代码
使用 FastAPI 实现一个 POST 接口来接收两个数 a 和 b,并返回它们的和 result,Python 代码如下:
from fastapi import FastAPI
app = FastAPI()
@app.post("/add")
async def add(a: int, b: int):
result = a + b
return {"result": result}
# 启动服务器
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=8000)
代码逐行解析如下:
# FastAPI是一个类,用于创建API应用;
from fastapi import FastAPI
'''
这行代码创建了一个 *FastAPI* 应用实例。
这是启动 *FastAPI* 服务的核心代码。
'''
app = FastAPI()
'''
这行代码定义了一个装饰器 @app.post
它告诉 FastAPI 这个函数 add 应该响应 POST 请求。
/add是这个函数的路径。
'''
@app.post("/add")
'''
第一行代码定义了一个异步函数add,异步函数使用 async def 来声明;
它接受两个参数a和b,这两个参数都是整数类型。
代码返回一个JSON响应,其中包含键result和它的值。
'''
async def add(a: int, b: int):
result = a + b
return {"result": result}
'''
主函数中,导入了uvicorn模块,是FastAPI中用于启动ASGI服务器的一个库。
而run代码使用uvicorn来运行前面创建的FastAPI应用实例app。
host="0.0.0.0"意味着服务器将接受所有网络接口上的连接,
port=8000指定了服务器将监听的端口号。
'''
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=8000)
运行
当搭建好代码后,我们通过 Postman 传递参数,接收返回值;
POST http://127.0.0.1:8000/add?a=1&b=2
学识尚浅,请多指教。
第一版:2024/1/17