使用Python Fast API发布API服务的过程详解
作者:Tom 发布时间:2022-05-19 20:03:44
标签:Python,Fast,API,API,服务
一、安装 FastAPI 和uvicorn
可以使用 pip 命令进行安装:
pip install fastapi uvicorn
二、创建 FastAPI 应用程序
例如 main.py
文件:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
@app.get("/items/{item_id}")
def read_item(item_id: int, q: str = None):
return {"item_id": item_id, "q": q}
@app.post("/items/")
def create_item(item: Item):
return item
在这个例子中,创建了一个 FastAPI 应用程序,并定义了三个路由:`/`,`/items/{item_id}` 和 `/items/`。
`read_root()` 和 `read_item()` 路由使用 `@app.get()` 装饰器来定义 `GET` 请求处理程序,而
`create_item()` 路由使用 `@app.post()` 装饰器来定义 `POST` 请求处理程序。
这些路由返回不同的响应内容,包括 JSON 数据和 FastAPI 模型对象。
三、启动FastAPI 应用程序
uvicorn main:app --reload
在这个例子中,我们使用 `uvicorn` 命令来启动 FastAPI 应用程序,监听 `http://localhost:8000` 地址,并自动重新加载应用程序代码更改。如果您需要在其他端口上运行应用程序,可以使用 `--port` 参数来指定端口号。
四、测试
例如,使用 curl
或其他 HTTP 客户端向您的应用程序发送请求:
curl http://localhost:8000/
curl http://localhost:8000/items/5?q=somequery
curl -X POST http://localhost:8000/items/ -H "Content-Type: application/json" -d '{"name": "item name", "description": "item description"}'
五、问题
1、如果需要被其他机器调用,需要启动应用程序时指定host
如:uvicorn main:app --host 192.168.10.8 --port 8888 --reload
2、启动参数 reload的含义
使用 `--reload` 参数启动 `uvicorn` 服务器时,它会监视应用程序代码的更改,并在代码更改时自动重新加载服务器,以便不必手动重新启动服务器。
来源:https://blog.csdn.net/xu_guo_jie/article/details/130233874


猜你喜欢
- 一、使用python3做webervice接口测试的第三方库选择suds-jurko库,可以直接pip命令直接下载,也可以在pypi官网下载
- 环境安装安装Anaconda,官网链接Anaconda使用conda创建py3.6的虚拟环境,并激活使用conda create -n py
- 内容摘要:在像网站首页这样的资源比较集中的页面中,那些栏目最经常被用户点击?居左居右对广告的点击率的影响是什么?“一切用数字说话”:以上问题
- 本文主要介绍了Pyecharts地理数据可视化,分享给大家,具体如下:一、Pyecharts简介和安装1. 简介Echarts 是一个由百度
- 前言:关于数据库范式,时常有听说过,一直没有详细去了解。一般数据库书籍或数据库课程会介绍范式相关内容,范式也经常出现在数据库考试题目中。不清
- 1.由于不支持博客首页到文章详情页的跳转,只能打开第一篇文章的详情页2.所以需要做以下工作:设计文章详情页的url,完善视图函数逻辑,实现首
- Online人们搜索、浏览、阅读、跟帖、互动投票,玩游戏,甚至在线买卖交易。这些行为都是“用户体验”,听起来用户体验似乎无所不能,造成了互联
- 关于 Go 中 Map 类型和 Slice 类型的传递Map 类型先看例子 m1:func main() { m := make
- 一.图像采样处理原理图像采样(Image Sampling)处理是将一幅连续图像在空间上分割成M×N个网格,每个网格用一
- 当我们的文章表中没有对于文章的评论数字段时,我们该这么写sql语句来显示出评论最多的文章呢?下面本站给大家收集了几种方法,仅供参考:1.se
- 本文实例讲述了GO语言映射(Map)用法。分享给大家供大家参考。具体如下:映射是一种内置的数据结构,用来保存键值对的无序集合。(1)映射的创
- 前言在启动 Django 项目时,Django 默认监听的端口号为 8000,设置的默认 IP 地址为 127.0.0.1 。如果需要修改默
- 网络爬虫网络爬虫是指在互联网上自动爬取网站内容信息的程序,也被称作网络蜘蛛或网络机器人。大型的爬虫程序被广泛应用于搜索引擎、数据挖掘等领域,
- 本文实例为大家分享了python树莓派红外反射传感器的程序,供大家参考,具体内容如下1、工具rpi3,微雪ARPI600,Infrared
- 一、先开启xp_cmdshell打开外围应用配置器—>功能的外围应用配置器—>实例名\Database Engine\xp_cm
- 方法一1. 下载MySQL源码分发包,不用区分操作系统,我们需要的东西是一样的;2. 重命名自己的mysql的data目录下的mysql文件
- RSA算法RSA算法是一种公钥加密技术,被认为是最安全的加密方式.它是由Rivest,Shamir和Adleman于1978年发明的,因此命
- 在缺失值填补上如果用前后的均值填补中间的均值,比如,0,空,1,我们希望中间填充0.5;或者0,空,空,1,我们希望中间填充0.33,0.6
- Python中多线程使用到Threading模块。Threading模块中用到的主要的类是Thread,我们先来写一个简单的多线程代码:#
- 本文主要介绍了Python通过tkinter实现百度搜索的示例代码,分享给大家,具体如下:"""百度搜索可视化