fastapi初使用,构建自己的api

news2024/11/23 8:45:33

文章目录

        • 1、安装
        • 2、api实现
          • 2.1、 ```app.get("/1")```
          • 2.2、```app.get("/{a}")```
          • 2.3、```@app.get("/{a}+{b}")```
          • 2.4、函数和api分离
        • 3、运行


原文链接:https://wangguo.site/posts/d98bb3c9.html


fastapi 是一个基于 Python 的 API 构建框架,简单且易用!

1、安装

安装,主要分为两部分:

1)fastapipip install fastapi

2)uvicorn:pip install uvicorn。服务器端,可以用来运行fastapi的代码。

也可以一起安装pip install fastapi[all]

2、api实现

from typing import Union
from fastapi import FastAPI

app = FastAPI()

@app.get("/1")
def read_root():
    return ("hello")
2.1、 app.get("/1")

api路径引入,也就是用 1 调用 read_root函数,最终返回一个 hello。

2.2、app.get("/{a}")
@app.get("/{a}")
def read_root(a:int):
    return ("hello")

也可以输入值,当输入一个int型参数,调用 read_root函数,返回一个 hello。

2.3、@app.get("/{a}+{b}")
@app.get("/{a}+{b}")
def read_root(a:int,b:int):
    return (a+b)

实现一个a+b的API。

2.4、函数和api分离

不可能把所有的api函数都放在一个.py文件中,在python文件中可以通过import调用函数。

  • sum.py,定义了一个add函数,实现a+b
def add(a,b):
    print(a+b)
    return a+b
  • main.py,调用add函数
from typing import Union
from fastapi import FastAPI

from num import add

app = FastAPI()

@app.get("/{a}+{b}")
def read_root(a:int,b:int):
    return add(a,b)

3、运行

uvicorn main:app --reload

ok,结束!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/749757.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C国演义 [第八章]

第八章 买卖股票的最佳时机题目理解步骤dp含义递推公式初始化遍历方向 代码 买卖股票的最佳时机II题目理解步骤dp含义递推公式初始化遍历方向 代码 买卖股票的最佳时机 力扣链接 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格 …

IDEA使用方式

1.翻译 1.Plugins插件:Chinese中文插件 文件F 编辑E 视图V 导航N 代码C 分析Z 重构R 构建B 运行U 工具T VCSS 窗口W 帮助H文件N 新建N 打开 打开最近 关闭项目 设置T 项目结构 文件属性 保存全部S 从磁盘全部重新加载 作废缓存/重启 导出/导入操作 其他设置 导出 打…

路径规划算法:基于协作搜索优化的路径规划算法- 附代码

路径规划算法:基于协作搜索优化的路径规划算法- 附代码 文章目录 路径规划算法:基于协作搜索优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要:本文主要介绍利用智能优化…

suse linux 日语字库相关

问题 最近遇到一个日语字库的问题,界面上同一个label显示的日语字体大小都不一样, 如下图,圈出的部分字体大小和其他部分不一样。 分析 考虑两种情况 配置文件有问题缺少字库文件 检查配置文件 参考suse官方文档https://en.opensuse.o…

5.带你入门matlab常见分布的期望和方差(matlab程序)

代码及运行结果 %%  二项分布的期望和方差 clear all; n1100; p10.3; [m1,v1]binostat(n1,p1) %100*0.3 100*0.3*0.7 %% %% 均匀分布的期望和方差 clear all; a11; b15; [m1,v1]unifstat(a1,b1) %% 正态分布的期望和方差 clear all; n12; n23; [m1,v1]normstat(n1,n2) %%…

亚马逊真的赚钱吗?亚马逊多年卖家真实想法揭秘

亚马逊跨境电商真的能赚钱吗?近期收到很多的咨询。理解大家对赚钱的渴望,但凡事都是有利有弊的。至于亚马逊跨境电商能不能赚钱,赚多少?咨询了很多亚马逊多年卖家,今天就跟大家一起聊聊吧! 亚马逊跨境电商…

解决dotnet调用https请求被中止未能创建SSL/TLS安全通道

环境:dotnet4.7.2/winserver2012 问题描述: 调用https出现请求被中止,未能创建SSL/TLS安全通道 第一试 自定义SetCertificatePolicy 函数,在建立http连接之前调用 SetCertificatePolicy 函数。 public static void SetCertificatePolicy() {ServicePointManage…

设计模式之建造者设计模式

写在前面 不知道,你在工作中有没有使用过lombok,如果你使用过,不知道你有没有使用过其中的Builder注解,其就会帮我们生成建造者设计模式相关的代码,本文就一起来看下吧! 1:介绍 1.1&#xff…

css3的新特性

动画效果 过渡 transition 鼠标放上去瞬间变大 过渡是变大的过程慢慢变化 第一个参数:对哪些值进行过渡。all为hover中所有,也可以指定属性 第二个参数:让动画过渡多长时间。要添加单位(s秒) 第三个参数&#xff1…

路径规划算法:基于厨师优化的路径规划算法- 附代码

路径规划算法:基于厨师优化的路径规划算法- 附代码 文章目录 路径规划算法:基于厨师优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要:本文主要介绍利用智能优化算法厨师…

【pytest自动化测试框架】从0到1由浅入深详细讲解

一:框架简介 pytest,rf(学关键字语法,报告漂亮),unitest   pytest是python的第三方单元测试框架,可以做系统测试,比unitest更简洁和高效,执行315种以上的插件&#xff…

AtcoderABC256场

A - 2^NA - 2^N 题目大意 给n,计算2n 思路分析 可以直接使用幂运算进行计算,也可以利用位运算来快速计算。 使用幂运算:将2连乘N次。利用位运算:2的N次方等于1左移N位(即将1的二进制表示中的1向左移N位)。 时间复…

Redis数据结构 — SDS

目录 C 语言字符串的缺陷 简单动态字符串SDS 扩容机制 SDS优点 字符串在 Redis 中是很常用的,Key-Value中的Key是字符串类型,Value有时也是字符串类型 Redis 是用 C 语言实现的,但是它没有直接使用 C 语言的 char* 字符数组来实现字符串…

如何激励员工跟踪时间?

正确跟踪工作时间对有效的企业管理和盈利能力起到重要作用。企业通过跟踪时间,监控出勤情况,确保员工收到应得的工资,保护企业的利益。 时间跟踪对企业来说和其他指标一样重要,但他们往往难以说服员工将其视为一种有益的活动。那…

windows 下载安装Redis,并配置开机自启动

windows 下载安装Redis,并配置开机自启动 1. 下载 地址:https://github.com/tporadowski/redis/releases Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,这里我们下载 Redis-x64-xxx.zip压缩包,之后解压 打…

园区水电能源管理系统平台

园区水电能源管理系统平台是一种集成了水电能源监测、管理和优化功能的平台,旨在帮助园区管理者实现对水电资源的实时监测、合理节能和优化使用。随着能源需求的不断增长和能源价格的不断攀升,园区管理者面临着越来越大的节能减排压力。因此,…

selenium查找svg元素

目录 如何为SVG元素编写XPath 使用local-name()的语法 需要记住的一点 将“and”与SVG元素一起使用 如何定位嵌套的SVG元素? XPath是一种用于定位XML文档中的web元素的语言,包括构成网页的HTML文档。在Selenium中&#xff0…

001 Jetpack Compose入门

目录 1.前提准备 2.新建项目 1.前提准备 下载最新版本的AndroidStudio,我目前的版本如下: 注意要将kotlin环境配置好 2.新建项目 新建项目中空Activity就是新建的Compose项目 然后就会得到一个Compose界面的应用 为何要学Compose可以看郭霖的文章&…

拉丁语翻译软件分享-收藏这几个备用

在当今全球化的时代,语言交流变得更加重要。虽然英语已经成为国际通用语言,但依旧有一些古老的语言在特定领域和文化中仍然得到广泛使用。其中,拉丁语作为古代罗马帝国的官方语言,对欧洲语言起了重要的影响。在本文中,…

el-select组件如何在页面一加载时就根据数据选中el-option中的数据

页面一加载就要选中下拉中的数据,要和下拉数组中的value的类型一致,value是number,select的v-model就不能是字符串,必须是number.不然就会显示字符串