快速上手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:
- pip install fastapi uvicorn
复制代码 构建一个简单的API
构建一个简单的API非常容易。创建一个名为 main.py 的文件,并添加以下代码:
- from fastapi import FastAPI
- app = FastAPI()
- @app.get("/")
- def read_root():
- return {"message": "Hello, World!"}
- @app.get("/items/{item_id}")
- def read_item(item_id: int, q: str = None):
- return {"item_id": item_id, "q": q}
复制代码 运行API:
- 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:
然后,可以通过以下代码调用API:
- import requests
- # 调用根路径
- response = requests.get("http://127.0.0.1:8000/")
- print(response.json())
- # 调用带参数的路径
- response = requests.get("http://127.0.0.1:8000/items/1", params={"q": "foo"})
- print(response.json())
复制代码 复杂API示例
以下是一个更复杂的示例,包罗哀求体和相应模型:
- from fastapi import FastAPI
- from pydantic import BaseModel
- app = FastAPI()
- class Item(BaseModel):
- name: str
- description: str = None
- price: float
- tax: float = None
- @app.post("/items/")
- def create_item(item: Item):
- return {"item": item}
复制代码 在这个示例中,Item 模型使用Pydantic进行数据验证和解析,create_item 路径接收 Item 作为哀求体,并返回相同的对象。
总结
FastAPI 是一个强大且现代的Python Web框架,实用于构建高性能API。其易于使用和自动天生文档的特性,使得开发和维护变得简单高效。通过本文的介绍,你应该可以大概快速上手FastAPI,并使用Python进行API调用。无论是简单的API还是复杂的应用,FastAPI都能满足你的需求。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |