当前位置: 首页 > 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 (…...

网络编程(Modbus进阶)

思维导图 Modbus RTU&#xff08;先学一点理论&#xff09; 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议&#xff0c;由 Modicon 公司&#xff08;现施耐德电气&#xff09;于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

css实现圆环展示百分比,根据值动态展示所占比例

代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

visual studio 2022更改主题为深色

visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中&#xff0c;选择 环境 -> 常规 &#xff0c;将其中的颜色主题改成深色 点击确定&#xff0c;更改完成...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

【网络安全产品大调研系列】2. 体验漏洞扫描

前言 2023 年漏洞扫描服务市场规模预计为 3.06&#xff08;十亿美元&#xff09;。漏洞扫描服务市场行业预计将从 2024 年的 3.48&#xff08;十亿美元&#xff09;增长到 2032 年的 9.54&#xff08;十亿美元&#xff09;。预测期内漏洞扫描服务市场 CAGR&#xff08;增长率&…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候&#xff0c;写过一篇简单实现&#xff0c;后期随着对该模型的深入研究&#xff0c;本次记录涉及到prophet 的公式以及参数调优&#xff0c;从公式可以更直观…...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站&#xff1a;https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本&#xff1a; Windows版&#xff08;推荐下载标准版&#xff09; Windows系统安装步骤 运行安装程序&#xff1a; 双击下载的.exe安装文件 如果出现安全提示&…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文全面剖析RNN核心原理&#xff0c;深入讲解梯度消失/爆炸问题&#xff0c;并通过LSTM/GRU结构实现解决方案&#xff0c;提供时间序列预测和文本生成…...