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

19c补丁后oracle属主变化,导致不能识别磁盘组

补丁后服务器重启&#xff0c;数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后&#xff0c;存在与用户组权限相关的问题。具体表现为&#xff0c;Oracle 实例的运行用户&#xff08;oracle&#xff09;和集…...

ES6从入门到精通:前言

ES6简介 ES6&#xff08;ECMAScript 2015&#xff09;是JavaScript语言的重大更新&#xff0c;引入了许多新特性&#xff0c;包括语法糖、新数据类型、模块化支持等&#xff0c;显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var&#xf…...

vue3 字体颜色设置的多种方式

在Vue 3中设置字体颜色可以通过多种方式实现&#xff0c;这取决于你是想在组件内部直接设置&#xff0c;还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法&#xff1a; 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成

厌倦手动写WordPress文章&#xff1f;AI自动生成&#xff0c;效率提升10倍&#xff01; 支持多语言、自动配图、定时发布&#xff0c;让内容创作更轻松&#xff01; AI内容生成 → 不想每天写文章&#xff1f;AI一键生成高质量内容&#xff01;多语言支持 → 跨境电商必备&am…...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)

本文把滑坡位移序列拆开、筛优质因子&#xff0c;再用 CNN-BiLSTM-Attention 来动态预测每个子序列&#xff0c;最后重构出总位移&#xff0c;预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵&#xff08;S…...

Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理

引言 Bitmap&#xff08;位图&#xff09;是Android应用内存占用的“头号杀手”。一张1080P&#xff08;1920x1080&#xff09;的图片以ARGB_8888格式加载时&#xff0c;内存占用高达8MB&#xff08;192010804字节&#xff09;。据统计&#xff0c;超过60%的应用OOM崩溃与Bitm…...

Java毕业设计:WML信息查询与后端信息发布系统开发

JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发&#xff0c;实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构&#xff0c;服务器端使用Java Servlet处理请求&#xff0c;数据库采用MySQL存储信息&#xff0…...

打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用

一、方案背景​ 在现代生产与生活场景中&#xff0c;如工厂高危作业区、医院手术室、公共场景等&#xff0c;人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式&#xff0c;存在效率低、覆盖面不足、判断主观性强等问题&#xff0c;难以满足对人员打手机行为精…...

Rust 开发环境搭建

环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行&#xff1a; rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu ​ 2、Hello World fn main() { println…...