【FastAPI】P1 简单实现 a+b

目录

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

准备工作

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

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

bash 复制代码
pip install fastapi uvicorn

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

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


代码

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

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

相关推荐
Aurorar0rua2 小时前
CS50 x 2024 Notes Python - 02
开发语言·python·学习方法
zyseo82 小时前
谷歌SEO 网站迁移 301 映射脚本:旧站 URL 自动匹配新站结构
开发语言·python
清水白石0082 小时前
React Native与Flutter长期维护成本对比
开发语言·数据库
麦序子2 小时前
用 Python + python-docx 批量生成带表格样式的装修报价单 Word 文档(含合计公式)
开发语言·python·自然语言处理·word·python3.11
1-1=02 小时前
Python PyCharm
开发语言·python·pycharm
牛肉胡辣汤2 小时前
Blender + Three.js 开发讲解:从 .blend 到能转的产品页
开发语言·javascript·blender
惊讶的猫2 小时前
Spring AOP
java·开发语言
ii_best3 小时前
按键精灵手机助手 v5.2.1 实测:inputText 逐字延时 + 调试面板多行复制,安卓脚本开发的两个输入痛点一次解决
android·开发语言·智能手机·自动化·ai编程·按键精灵
波力海苔夹心脆6753 小时前
C# StringBuilder 详解:字符串拼接为什么总说要用它?
开发语言·笔记·c#·.net·字符串·stringbuilder·入门教程
Wang's Blog3 小时前
Java 项目实战: 交友项目 - 今日佳人:需求分析
java·开发语言·交友