快速上手FastAPI:构建和调用Python API的全方位指南

张裕  金牌会员 | 2024-8-19 13:42:04 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 472|帖子 472|积分 1416

快速上手FastAPI:构建和调用Python API的全方位指南

在现代Web开发中,API(应用步伐接口)已经成为了应用步伐之间通信的关键组件。FastAPI 是一个现代、快速(高性能)的Web框架,用于构建基于Python 3.7+尺度类型提示的API。本文将介绍FastAPI及其特点,并展示怎样使用Python进行API调用。
FastAPI简介

FastAPI 是一个用于构建API的现代Web框架,具有以下特点:


  • 高性能:与NodeJS和Go相当,基于Starlette和Pydantic,使用Python的异步特性。
  • 易于使用:使用Python 3.7+类型提示,通过自动天生文档(Swagger UI和ReDoc)。
  • 快速开发:淘汰约40%的bug,并进步开发效率。
  • 易于维护:强类型提示和自动天生文档使代码更易于维护。
安装FastAPI和Uvicorn

起首,必要安装FastAPI和ASGI服务器Uvicorn:
  1. pip install fastapi uvicorn
复制代码
构建一个简单的API

构建一个简单的API非常容易。创建一个名为 main.py 的文件,并添加以下代码:
  1. from fastapi import FastAPI
  2. app = FastAPI()
  3. @app.get("/")
  4. def read_root():
  5.     return {"message": "Hello, World!"}
  6. @app.get("/items/{item_id}")
  7. def read_item(item_id: int, q: str = None):
  8.     return {"item_id": item_id, "q": q}
复制代码
运行API:
  1. uvicorn main:app --reload
复制代码
访问 http://127.0.0.1:8000 可以看到 {"message": "Hello, World!"},而 http://127.0.0.1:8000/items/1?q=foo 则会返回 {"item_id": 1, "q": "foo"}。
自动天生的文档

FastAPI自动天生交互式API文档,访问 http://127.0.0.1:8000/docs 查看Swagger UI,访问 http://127.0.0.1:8000/redoc 查看ReDoc。
使用Python进行API调用

使用Python的 requests 库可以轻松地进行API调用。起首,安装 requests:
  1. pip install requests
复制代码
然后,可以通过以下代码调用API:
  1. import requests
  2. # 调用根路径
  3. response = requests.get("http://127.0.0.1:8000/")
  4. print(response.json())
  5. # 调用带参数的路径
  6. response = requests.get("http://127.0.0.1:8000/items/1", params={"q": "foo"})
  7. print(response.json())
复制代码
复杂API示例

以下是一个更复杂的示例,包罗哀求体和相应模型:
  1. from fastapi import FastAPI
  2. from pydantic import BaseModel
  3. app = FastAPI()
  4. class Item(BaseModel):
  5.     name: str
  6.     description: str = None
  7.     price: float
  8.     tax: float = None
  9. @app.post("/items/")
  10. def create_item(item: Item):
  11.     return {"item": item}
复制代码
在这个示例中,Item 模型使用Pydantic进行数据验证和解析,create_item 路径接收 Item 作为哀求体,并返回相同的对象。
总结

FastAPI 是一个强大且现代的Python Web框架,实用于构建高性能API。其易于使用和自动天生文档的特性,使得开发和维护变得简单高效。通过本文的介绍,你应该可以大概快速上手FastAPI,并使用Python进行API调用。无论是简单的API还是复杂的应用,FastAPI都能满足你的需求。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张裕

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表