使用Python Fast API发布API服务的过程详解

 更新时间:2023年04月24日 11:20:27   作者:Tom 1988  
这篇文章主要介绍了使用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` 服务器时,它会监视应用程序代码的更改,并在代码更改时自动重新加载服务器,以便不必手动重新启动服务器。

到此这篇关于使用Python Fast API发布API服务的文章就介绍到这了,更多相关Python Fast API发布API服务内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Ubuntu下Python2与Python3的共存问题

    Ubuntu下Python2与Python3的共存问题

    Linux系统一般自带Python,有时候又自己下载了Python,因此有可能Python2和Python3同时存在。那么当我们在Terminal键入python的时候,会调出哪个Python呢?本文即解决这个问题
    2018-10-10
  • python创建只读属性对象的方法(ReadOnlyObject)

    python创建只读属性对象的方法(ReadOnlyObject)

    有时需要创建一个带只读属性的对象,大家可以参考下如下的方法进行创建,稍加改造,可以得到很特殊的效果
    2013-02-02
  • Python生成随机密码

    Python生成随机密码

    这篇文章主要介绍了Python生成随机密码的代码分享,由于是新手,仅仅是简单的实现,未作任何其他处理,小伙伴们自己参考下吧。
    2015-03-03
  • Python实现绘制M2货币供应率曲线

    Python实现绘制M2货币供应率曲线

    这篇文章主要为大家详细介绍了如何利用Python语言实现绘制M2货币供应率曲线,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-06-06
  • Python图像处理之图像的缩放、旋转与翻转实现方法示例

    Python图像处理之图像的缩放、旋转与翻转实现方法示例

    这篇文章主要介绍了Python图像处理之图像的缩放、旋转与翻转实现方法,结合实例形式分析了Python使用resize()、rotate()及transpose()等函数进行图像的缩放、旋转及翻转相关操作技巧,需要的朋友可以参考下
    2019-01-01
  • python实现简单的文字识别

    python实现简单的文字识别

    这篇文章主要为大家详细介绍了基于百度云文字识别API,python实现的简单文字识别,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • Python-split()函数实例用法讲解

    Python-split()函数实例用法讲解

    在本篇文章里小编给大家整理的是一篇关于Python-split()函数实例用法讲解,有兴趣的朋友们可以学习下。
    2020-12-12
  • Python实现免费音乐下载器

    Python实现免费音乐下载器

    本文主要为大家介绍了通过Python实现的免费音乐下载器,文中的示例代码讲解详细,对我们的学习或工作有一定的帮助,需要的小伙伴可以学习一下
    2021-12-12
  • PYQT5 实现界面的嵌套方式

    PYQT5 实现界面的嵌套方式

    这篇文章主要介绍了PYQT5 实现界面的嵌套方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Python运行DLL文件的方法

    Python运行DLL文件的方法

    这篇文章主要介绍了Python运行DLL文件的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01

最新评论