设计原则
在设计 RESTful API 时,应遵循以下几个原则:
- 资源:使用名词来表示资源。
- 动作:使用 HTTP 动词来表示对资源的操作。
- 状态码:使用 HTTP 状态码来表示请求结果。
- 数据格式:使用常见的数据格式,如 JSON 或 XML。
示例
让我们通过一个简单的示例来演示如何使用 FastAPI 创建 RESTful API。我们将创建一个简单的电子商务 API,用于管理产品和订单。
创建项目和依赖
我们首先需要创建一个新的 Python 项目,并安装 FastAPI 和 uvicorn:
代码语言:javascript复制$ mkdir myapi && cd myapi
$ python3 -m venv venv
$ source venv/bin/activate
$ pip install fastapi uvicorn
创建数据模型
我们需要为产品和订单定义数据模型。在此示例中,我们将使用 Pydantic 来定义数据模型。创建一个名为 models.py
的新文件,并添加以下内容:
from typing import List, Optional
from pydantic import BaseModel
class Product(BaseModel):
id: int
name: str
description: Optional[str]
price: float
image_url: Optional[str]
class OrderItem(BaseModel):
product_id: int
quantity: int
class Order(BaseModel):
id: int
items: List[OrderItem]
在上面的代码中,我们定义了两个 Pydantic 模型:Product
和 Order
。Product
模型表示一个产品,包括 id
、name
、description
、price
和 image_url
属性。Order
模型表示一个订单,包括 id
和 items
属性。items
属性是一个订单项列表,每个订单项包括一个 product_id
和一个 quantity
。