当前位置: 首页 > news >正文

【FastAPI】P1 简单实现 a+b

目录

  • 准备工作
  • 代码
  • 运行

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

准备工作

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

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

pip install fastapi uvicorn

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

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


代码

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

from fastapi import FastAPIapp = FastAPI()@app.post("/add")
async def add(a: int, b: int):result = a + breturn {"result": result}# 启动服务器
if __name__ == "__main__":import uvicornuvicorn.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 + breturn {"result": result}
'''
主函数中,导入了uvicorn模块,是FastAPI中用于启动ASGI服务器的一个库。
而run代码使用uvicorn来运行前面创建的FastAPI应用实例app。
host="0.0.0.0"意味着服务器将接受所有网络接口上的连接,
port=8000指定了服务器将监听的端口号。
'''
if __name__ == "__main__":import uvicornuvicorn.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

相关文章:

【FastAPI】P1 简单实现 a+b

目录 准备工作代码运行 说明:本文通过 FastAPI 实现返回两个参数 ab 的值; 准备工作 默认读者已准备完善 Python IDE工具以及包管理工具。 首先,需要安装 fastapi 和 uvicorn 库,如果没有请使用 pip 进行安装: pip…...

C#设计模式教程(4):单例模式

单例模式(Singleton Pattern)是一种常用的设计模式,用于确保一个类只有一个实例,并提供一个访问它的全局访问点。在C#中实现单例模式通常有几种不同的方法,这里介绍几种典型的实现方式。 C# 单例模式的各种实现方式 1. 懒汉式(线程不安全) public class Singleton {p…...

常用的git diff命令用法汇总和示例

文章目录 1. 查看工作目录和暂存区的差异2. 查看暂存区和最后一次提交的差异3. 查看两个提交之间的差异4. 查看特定文件的更改5. 查看特定文件在两个提交之间的差异6. 查看分支之间的差异7. 查看某次提交的更改8. 限制diff输出的格式9. 查看一定时间范围内的更改 Git的diff命令…...

一键式Excel分词统计工具:如何轻松打包Python脚本为EXE

一键式Excel分词统计工具:如何轻松打包Python脚本为EXE 写在最前面需求分析直接用Python打包为什么大?为什么要使用conda环境? 将Python脚本打包为一个独立的应用程序1. 编写Python脚本:初步功能实现2. 初步图形用户界面&#xff…...

Windows系统字体尺寸学习

调用GetTextMetrics来获得字体尺寸信息, 函数返回设备描述表中当前选定的字体信息; 返回值到TEXTMETRIC类型的结构中; 返回字段值的单位取决于当前设备描述表映射方式;默认映射方式是MM_TEXT,值的单位是像素; 前7个字…...

SSH隧道技术

SSH隧道 简介 SSH隧道是一种通过SSH协议在两个网络节点之间建立安全通信的技术。它可以用于多种用途,包括加密和保护敏感数据传输、绕过防火墙限制、远程访问内部服务等。 应用: 端口转发:SSH隧道可以将本地端口转发到远程主机上&#xf…...

支付功能的实现

1.商户调用第三方支付服务的主要步骤流程? 1.1 表单跳转 前端点击提交支付,请求后端支付接口 支付接口通过阿里api生成表单信息返回给前端页面 同步回调,异步回调参数 请求参数:总金额,外部订单号 公共参数&#xff1…...

SpringMVC JSON数据处理见解6

6.JSON数据处理 6.1.添加json依赖 springmvc 默认使用jackson作为json类库,不需要修改applicationContext-servlet.xml任何配置&#xff0c;只需引入以下类库springmvc就可以处理json数据&#xff1a; <!--spring-json依赖--> <dependency><groupId>com.f…...

python 读写kafka

1. 安装pykafka pip install pykafka2. 生产者 from pykafka import KafkaClientdef get_kafka_producer(hosts, topics):client KafkaClient(hostshosts)print(client.topics)topic client.topics[topics]producer topic.get_producer()return producer 测试 hosts 19…...

VBA: 如何用VBA遍历文件夹(含子文件夹)里的所有文件

目录 0 原始文件 1 step1:遍历文件夹&#xff08;不包含子文件&#xff09;内的文件数 2 step2: 遍历文件夹内的所有子文件夹的名字 3 step3 遍历文件夹的&#xff08;含子文件&#xff09;内的所有文件 4 step4 遍历文件夹的&#xff08;含子文件&#xff09;内的所有文…...

又快又好! 基于Consistency Model的一步采样歌声转换模型CoMoSVC已开源

在2023年&#xff0c;AI虚拟歌手如AI孙燕姿等已经引起了广泛的关注&#xff0c;而大多数应用都是基于开源框架SoVITS。最近&#xff0c;香港科技大学和微软亚洲研究院推出了一种基于Consistency Model的歌声转换系统CoMoSVC&#xff0c;它在歌声转换速度上与基于Flow的SoVITS系…...

服务器——配置免密登录

一、生成本机的密钥文件 打开本机的终端&#xff0c;输入 ssh-keygen&#xff0c;默认一路点enter。 将生成的 id_rsa.pub 公钥文件&#xff0c;复制一份改一个名称&#xff0c;比如改名成 id_rsa_test.pub。 二、将生成的公钥文件发送到服务器对应账户的.ssh文件夹下 将改…...

GoZero微服务个人探索之路(三)Go-Zero官方rpc demo示例探究

官方网址&#xff1a;https://go-zero.dev/docs/tasks/cli/grpc-demo 项目结构 demo包 两个文件均为protoc-gen-go-grpc自动生成构成一个完整的 gRPC 服务的定义和实现 democlient包 demo.go goctl生成的客户端代码 Request 和 Response 别名&#xff1a; 定义了 Request 和…...

1月下半笔记(个人向)

最近才开始看d2l&#xff08;这种东西早该在两年前看的&#xff0c;拖到现在了&#xff09; 为了做项目还得学一手OpenGL&#xff08;被windows安装GLFW逼疯了&#xff09; 1.15 打完ICPC EC final回来&#xff0c;也许可以出一篇博客写下简单的题解。 对蛋白质相似空间子结…...

ChatGpt使用技巧

通用类技巧 角色扮演 比如让ChatGpt扮演500强营销专家 告诉ChatGpt你的身份。初学者、或是有一定能力、知识的学习者等 限制ChatGpt回答长度 100~200字之间 让ChatGpt一步一步思考 他会预测下一个单词&#xff0c;根据prompt进行生成 明确你的要求和目的 说清楚问题&#x…...

自动安装解压版mysql8的脚本

由于mysql 8的 MSI 安装包&#xff0c;自动把程序安装到了C盘&#xff0c;且没看到有可以更改安装位置的配置可以修改。 故自行写了一个脚本&#xff0c;用来安装mysql 8的压缩包。可以将 mysql 8 以及其 Data目录 安装到C盘以外的位置。第一次写 bat 脚本&#xff0c;希望各位…...

第二讲_HarmonyOS应用创建和运行

HarmonyOS应用创建和运行 1. 创建一个HarmonyOS应用2. 运行新项目2.1 创建本地模拟器2.2 启动本地模拟器2.3 在本地模拟器运行项目 1. 创建一个HarmonyOS应用 打开DevEco Studio&#xff0c;在欢迎页单击Create Project&#xff0c;创建一个新工程。 选择创建Application应用。…...

Android车载系统Car模块架构链路分析

一、模块主要成员 CarServiceHelperService SystemServer 中专门为 AAOS 设立的系统服务&#xff0c;用来管理车机的核心服务 CarService。该系统服务的具体实现在 CarServiceHelperServiceUpdatableImpl CarService Car模块核心服务APP&#xff0c;Android 13版本开始分为…...

C语言经典算法之顺序查找算法

目录 前言 A.建议 B.简介 一 代码实现 二 算法时空复杂度 A.时间复杂度&#xff1a; B.空间复杂度&#xff1a; 三 优点和缺点 A.优点&#xff1a; B.缺点&#xff1a; 四 现实中的应用 前言 A.建议 1.学习算法最重要的是理解算法的每一步&#xff0c;而不是记住算…...

c语言嵌套循环

c语言嵌套循环 c语言嵌套循环 c语言嵌套循环一、c语言嵌套循环格式二、嵌套循环案例九九惩罚口诀 一、c语言嵌套循环格式 for(初始值&#xff1b;表达式&#xff1b;表达式) {for&#xff08;初始值&#xff1b;表达式&#xff1b;表达式&#xff09;{代码} }int main() {for (…...

模型timm/ViT-B-16-SigLIP简要介绍及其应用场景

目录一、timm/ViT-B-16-SigLIP 是什么模型二、模型结构&#xff08;核心架构&#xff09;1️⃣ 图像编码器2️⃣ 文本编码器3️⃣ 对齐训练三、为什么叫 ViT-B-16四、在 timm 中如何使用五、典型应用场景1️⃣ Zero-shot 图像分类2️⃣ 图文检索&#xff08;Image-Text Retriev…...

3个革命性功能:163MusicLyrics让音乐歌词管理效率提升10倍

3个革命性功能&#xff1a;163MusicLyrics让音乐歌词管理效率提升10倍 【免费下载链接】163MusicLyrics Windows 云音乐歌词获取【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 在数字音乐时代&#xff0c;歌词管理已成为音乐爱好…...

YOLOv5实战:如何自定义COCO指标计算APtiny(附完整代码修改指南)

YOLOv5实战&#xff1a;深度解析COCO评估指标自定义与APtiny计算优化 在目标检测领域&#xff0c;COCO数据集的评估标准已成为衡量模型性能的黄金准则。但当我们面对特定场景——尤其是小目标检测任务时&#xff0c;标准的3232像素"small"类别划分往往难以满足精细化…...

低成本搭建AI知识库:Qwen3-Embedding-4B量化版仅需3GB显存教程

低成本搭建AI知识库&#xff1a;Qwen3-Embedding-4B量化版仅需3GB显存教程 1. 引言&#xff1a;为什么选择Qwen3-Embedding-4B&#xff1f; 在构建AI知识库时&#xff0c;文本向量化模型的选择至关重要。传统方案要么性能不足&#xff0c;要么资源消耗过大。Qwen3-Embedding-…...

刷题无效、偏科严重?脑能模型解构 K12 学习底层能力问题

一、问题定义&#xff1a;K12 学习低效的核心并非知识缺口&#xff0c;而是大脑能力结构断链在 K12 家庭教育场景中&#xff0c;刷题耗时但效率无提升、偏科补学却差距扩大、孩子拖延喊不动、学习焦虑厌学等问题成为普遍痛点&#xff0c;多数家长将其归因于孩子智商、天赋或学习…...

5分钟解决经典游戏兼容性问题:DDrawCompat完整使用指南

5分钟解决经典游戏兼容性问题&#xff1a;DDrawCompat完整使用指南 【免费下载链接】DDrawCompat DirectDraw and Direct3D 1-7 compatibility, performance and visual enhancements for Windows Vista, 7, 8, 10 and 11 项目地址: https://gitcode.com/gh_mirrors/dd/DDraw…...

Vision Transformers在密集预测任务中的创新应用与性能优化

1. Vision Transformers如何革新密集预测任务 第一次接触Vision Transformers&#xff08;ViT&#xff09;时&#xff0c;我完全被它的设计哲学震撼到了。传统的CNN在处理图像时&#xff0c;就像用固定大小的网格去观察世界&#xff0c;而ViT则像是一个拥有"全局视野"…...

sklearn分类指标实战:如何用precision_recall_curve优化你的模型效果

sklearn分类指标实战&#xff1a;如何用precision_recall_curve优化模型效果 在机器学习项目中&#xff0c;分类模型的评估往往比训练过程更考验数据科学家的专业素养。当你的模型在测试集上达到95%的准确率时&#xff0c;是否就意味着可以高枕无忧&#xff1f;现实情况往往复杂…...

npm install 背后的依赖管理机制:为什么你的node_modules这么大?

npm install 背后的依赖管理机制&#xff1a;为什么你的node_modules这么大&#xff1f; 每次运行 npm install 后&#xff0c;看着飞速增长的 node_modules 文件夹&#xff0c;你是否曾好奇过这个"黑洞"究竟是如何形成的&#xff1f;今天我们就来揭开Node.js依赖管理…...

RDK X5上800万像素摄像头延迟从7秒降到200ms:我的5个月踩坑与优化实录

RDK X5高分辨率摄像头优化实战&#xff1a;从7秒延迟到200ms的性能飞跃 深夜的显示器前&#xff0c;我盯着屏幕上缓慢刷新的图像——32642448分辨率下&#xff0c;每按一次快门要等待7秒才能看到结果。作为一名在嵌入式视觉领域摸爬滚打多年的开发者&#xff0c;这种性能表现简…...