FastAPI-RESTful API设计(一)

2023-05-07 21:33:00 浏览数 (3)

设计原则

在设计 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 的新文件,并添加以下内容:

代码语言:javascript复制
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 模型:ProductOrderProduct 模型表示一个产品,包括 idnamedescriptionpriceimage_url 属性。Order 模型表示一个订单,包括 iditems 属性。items 属性是一个订单项列表,每个订单项包括一个 product_id 和一个 quantity

0 人点赞