使用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服务内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Django 开发环境配置过程详解

    Django 开发环境配置过程详解

    这篇文章主要介绍了Django 开发环境配置过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • python调用文件时找不到相对路径的解决方案

    python调用文件时找不到相对路径的解决方案

    这篇文章主要介绍了python调用文件时找不到相对路径的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • python使用正则表达式匹配txt特定字符串(有换行)

    python使用正则表达式匹配txt特定字符串(有换行)

    这篇文章主要给大家介绍了关于python使用正则表达式匹配txt特定字符串的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • python之broadcast和numpy.sum()函数用法及说明

    python之broadcast和numpy.sum()函数用法及说明

    这篇文章主要介绍了python之broadcast和numpy.sum()函数用法及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • python线程如何强制暂停、恢复、停止(非标志位)

    python线程如何强制暂停、恢复、停止(非标志位)

    这篇文章主要介绍了python线程如何强制暂停、恢复、停止(非标志位),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • python实现m3u8格式转换为mp4视频格式

    python实现m3u8格式转换为mp4视频格式

    这篇文章主要为大家详细介绍了python实现m3u8格式转换为mp4视频格式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • Python Watchdog实现实时监控文件系统

    Python Watchdog实现实时监控文件系统

    Python Watchdog是一个优秀的第三方库,用于实现高效的文件系统监控,本文将为大家详细介绍一下Python如何使用Watchdog实现实时监控文件,需要的可以参考下
    2023-11-11
  • 详解django+django-celery+celery的整合实战

    详解django+django-celery+celery的整合实战

    这篇文章主要介绍了详解django+django-celery+celery的整合实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • python区块链地址的简版实现

    python区块链地址的简版实现

    这篇文章主要为大家介绍了python区块链地址的简版实现,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • 使用Python的toolz库开始函数式编程的方法

    使用Python的toolz库开始函数式编程的方法

    这篇文章主要介绍了使用Python的toolz库开始函数式编程的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-11-11

最新评论