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

相关文章

  • python使用for...else跳出双层嵌套循环的方法实例

    python使用for...else跳出双层嵌套循环的方法实例

    这篇文章主要给大家介绍了关于python使用for...else跳出双层嵌套循环的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-05-05
  • python读取txt文件并取其某一列数据的示例

    python读取txt文件并取其某一列数据的示例

    今天小编就为大家分享一篇python读取txt文件并取其某一列数据的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • mAP计算目标检测精确度实现源码

    mAP计算目标检测精确度实现源码

    这篇文章主要为大家介绍了mAP计算目标检测精确度的实现源码,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • 使用虚拟环境实现Python版本和依赖库的兼容

    使用虚拟环境实现Python版本和依赖库的兼容

    这篇文章主要介绍了使用虚拟环境实现Python版本和依赖库的兼容的相关资料,需要的朋友可以参考下
    2022-12-12
  • Python使用百度通用API进行翻译实现

    Python使用百度通用API进行翻译实现

    本文主要介绍了Python使用百度通用API进行翻译实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • 适合Python项目的五大SQL连接器

    适合Python项目的五大SQL连接器

    这篇文章,将要介绍当前流行的、适合大多数Python程序员的、五大Python SQL数据库连接器,并讨论它们安装和各种的优缺点。需要的喷朋友可以参考下面文章的具体内容
    2021-09-09
  • Python中的魔法方法深入理解

    Python中的魔法方法深入理解

    这篇文章主要介绍了Python中的魔法方法深入理解,本文通过分析WEB框架Flask的源码来分析Python中的魔法方法,需要的朋友可以参考下
    2014-07-07
  • python web自制框架之接受url传递过来的参数实例

    python web自制框架之接受url传递过来的参数实例

    今天小编就为大家分享一篇python web自制框架之接受url传递过来的参数实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Python中numpy数组的计算与转置详解

    Python中numpy数组的计算与转置详解

    大家好,本篇文章主要讲的是Python中numpy数组的计算与转置详解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • python列表推导式实现找出列表中长度大于5的名字

    python列表推导式实现找出列表中长度大于5的名字

    这篇文章主要介绍了python列表推导式实现找出列表中长度大于5的名字,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02

最新评论