【FastAPI】P1 简单实现 a+b

目录

说明:本文通过 FastAPI 实现返回两个参数 a+b 的值;

准备工作

默认读者已准备完善 Python IDE工具以及包管理工具。

首先 ,需要安装 fastapiuvicorn 库,如果没有请使用 pip 进行安装:

bash 复制代码
pip install fastapi uvicorn

其次,需下载安装完成 Postman 软件,以用来实现参数传递功能;

Postman 下载链接:https://www.postman.com/downloads/


代码

使用 FastAPI 实现一个 POST 接口来接收两个数 ab ,并返回它们的和 resultPython 代码如下:

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)

代码逐行解析如下:

python 复制代码
# FastAPI是一个类,用于创建API应用;
from fastapi import FastAPI
python 复制代码
'''
这行代码创建了一个 *FastAPI* 应用实例。
这是启动 *FastAPI* 服务的核心代码。
'''
app = FastAPI()
python 复制代码
'''
这行代码定义了一个装饰器 @app.post
它告诉 FastAPI 这个函数 add 应该响应 POST 请求。
/add是这个函数的路径。
'''
@app.post("/add")
python 复制代码
'''
第一行代码定义了一个异步函数add,异步函数使用 async def 来声明;
它接受两个参数a和b,这两个参数都是整数类型。
代码返回一个JSON响应,其中包含键result和它的值。
'''
async def add(a: int, b: int): 
	result = a + b
    return {"result": result}
python 复制代码
'''
主函数中,导入了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 传递参数,接收返回值;

bash 复制代码
POST http://127.0.0.1:8000/add?a=1&b=2

学识尚浅,请多指教。

第一版:2024/1/17

相关推荐
lly2024062 小时前
C 标准库 - `<stdio.h>`
开发语言
沫璃染墨2 小时前
C++ string 从入门到精通:构造、迭代器、容量接口全解析
c语言·开发语言·c++
jwn9992 小时前
Laravel6.x核心特性全解析
开发语言·php·laravel
迷藏4942 小时前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障
java·开发语言·python·rust·开源
功德+n2 小时前
Linux下安装与配置Docker完整详细步骤
linux·运维·服务器·开发语言·docker·centos
明日清晨2 小时前
python扫码登录dy
开发语言·python
我是唐青枫2 小时前
C#.NET gRPC 深入解析:Proto 定义、流式调用与服务间通信取舍
开发语言·c#·.net
JJay.3 小时前
Kotlin 高阶函数学习指南
android·开发语言·kotlin
bazhange3 小时前
python如何像matlab一样使用向量化替代for循环
开发语言·python·matlab
jinanwuhuaguo3 小时前
截止到4月8日,OpenClaw 2026年4月更新深度解读剖析:从“能力回归”到“信任内建”的范式跃迁
android·开发语言·人工智能·深度学习·kotlin