前端开发中,你是否遇到过这样的问题:
API设计总是随意而混乱,扩展起来困难?
不知道如何系统化地设计清晰、好用的 RESTful API?
面对复杂的业务场景,不知道从何处下手?
本期,我们为你带来了一个傻瓜式AI提示模板,通过简单复制粘贴,就能循序渐进地用AI帮你设计一个全面、清晰且易扩展的API!
为什么要使用「渐进式API设计」提示模板?
传统的API设计方法容易遗漏细节,扩展性差。
「渐进式API设计」的提示模板,帮你:
一步一步明确核心资源
系统地定义交互模式
全面地考虑认证、缓存、限流等高级因素
自动生成专业的API文档和示例
通过这个模板,你可以复制粘贴到AI工具中,轻松打造一个深思熟虑的API,提升前端与后端对接效率,降低开发维护成本!
一、傻瓜式模板(直接复制使用)
👇👇👇 复制下方提示模板到AI工具中,只需填写你的领域详情即可:
我正在为 [你的领域,比如电子商务、博客、社交应用] 系统设计RESTful API。
请按照下面四个阶段,渐进式地帮我完成设计。
第1阶段:核心资源定义
- 定义需要的核心资源及资源之间的关系
- 明确每个资源需要的主要属性(字段)
- 简单概述每个资源的基本CRUD(增删改查)操作
第2阶段:交互模式
- 定义超出CRUD的专用API端点(如批量更新)
- 明确支持的查询参数、过滤条件
- 给出分页和排序的实现建议
第3阶段:高级考虑因素
- 设计合适的认证和权限控制方案
- 给出API限速、配额管理的方案
- 明确缓存机制和ETag使用方法
- 提出API版本控制的方法
- 定义标准化的错误处理方式
第4阶段:文档和示例
- 生成符合OpenAPI规范的API文档示例
- 提供几个典型操作的请求/响应示例
- 给出API使用者的最佳实践建议
请先完成第1阶段,我的具体领域详情如下:
[在这里填写你的具体业务或项目需求]
二、真实前端示例(照着填写即可用):
假设你要为电子商务平台的产品管理系统设计API,只要复制模板,并简单填写即可:
👇👇👇 具体填写示例如下,你复制后可修改成自己的需求:
我正在为 电子商务平台的产品管理系统 设计RESTful API。
请按照下面四个阶段,渐进式地帮我完成设计。
第1阶段:核心资源定义
- 定义需要的核心资源及资源之间的关系
- 明确每个资源需要的主要属性(字段)
- 简单概述每个资源的基本CRUD(增删改查)操作
第2阶段:交互模式
- 定义超出CRUD的专用API端点(如批量更新)
- 明确支持的查询参数、过滤条件
- 给出分页和排序的实现建议
第3阶段:高级考虑因素
- 设计合适的认证和权限控制方案
- 给出API限速、配额管理的方案
- 明确缓存机制和ETag使用方法
- 提出API版本控制的方法
- 定义标准化的错误处理方式
第4阶段:文档和示例
- 生成符合OpenAPI规范的API文档示例
- 提供几个典型操作的请求/响应示例
- 给出API使用者的最佳实践建议
请先完成第1阶段,我的具体领域详情如下:
产品领域需求:
- 需要定义资源及其关系:产品(products)、类别(categories)、品牌(brands)、库存(inventory)、价格(pricing)
- 产品有多个变体(如尺寸、颜色),需单独处理
- 产品可以属于多个类别
- 价格需要支持促销活动、季节性定价
- 库存需要实时更新,且需与仓库系统集成
三、你会得到什么结果?
复制粘贴上面的模板到AI工具中,AI将返回类似以下高质量的结构化输出:
以下是电子商务平台产品管理系统 RESTful API 设计的第1阶段成果,逐步定义核心资源、资源关系、属性以及基本 CRUD 操作:
📌 1. 核心资源及关系定义:
Products (产品):
产品拥有多个变体(Variants,如颜色、尺寸等)
一个产品可以属于多个类别(Categories)
一个产品属于一个品牌(Brand)
一个产品拥有单个库存记录(Inventory)
一个产品拥有多个价格记录(Pricing)
Variants (产品变体):
附属于单个产品,体现产品的具体选项(如颜色、尺寸)
Categories (类别):
一个类别可以包含多个产品(多对多关系)
Brands (品牌):
一个品牌可以拥有多个产品(一对多关系)
Inventory (库存):
一个产品或变体对应一个库存记录(一对一)
Pricing (价格):
一个产品或变体可以有多个价格记录,支持促销、季节性定价(多对一关系)
📌 2. 每个资源的主要属性(字段):
📦 产品 (Products)
字段名称 | 类型 | 描述 |
---|---|---|
id | UUID | 产品唯一标识符 |
name | String | 产品名称 |
description | String | 产品详细描述 |
brand_id | UUID | 关联品牌 |
category_ids | [UUID] | 关联类别列表 |
created_at | Timestamp | 创建时间 |
updated_at | Timestamp | 更新时间 |
🌈 变体 (Variants)
字段名称 | 类型 | 描述 |
---|---|---|
id | UUID | 变体唯一标识符 |
product_id | UUID | 所属产品ID |
attributes | JSON | 变体属性(如:颜色、尺寸) |
sku | String | SKU编号 |
created_at | Timestamp | 创建时间 |
updated_at | Timestamp | 更新时间 |
🗂️ 类别 (Categories)
字段名称 | 类型 | 描述 |
---|---|---|
id | UUID | 类别唯一标识符 |
name | String | 类别名称 |
parent_id | UUID(nullable) | 父类别ID(支持树形结构) |
description | String | 类别描述 |
created_at | Timestamp | 创建时间 |
updated_at | Timestamp | 更新时间 |
🏷️ 品牌 (Brands)
字段名称 | 类型 | 描述 |
---|---|---|
id | UUID | 品牌唯一标识符 |
name | String | 品牌名称 |
description | String | 品牌描述 |
logo_url | String | 品牌Logo URL |
created_at | Timestamp | 创建时间 |
updated_at | Timestamp | 更新时间 |
📦 库存 (Inventory)
字段名称 | 类型 | 描述 |
---|---|---|
id | UUID | 库存记录ID |
product_id | UUID | 所属产品ID(变体库存则为Variant的ID) |
quantity | Integer | 当前库存数量 |
warehouse_location | String | 仓库位置 |
updated_at | Timestamp | 更新时间 |
💰 价格 (Pricing)
字段名称 | 类型 | 描述 |
---|---|---|
id | UUID | 价格记录ID |
product_id | UUID | 所属产品ID(变体价格则为Variant的ID) |
price | Decimal | 基础价格 |
promotional_price | Decimal(nullable) | 促销价格(若有) |
currency | String | 货币类型 |
start_date | DateTime | 定价开始生效时间 |
end_date | DateTime(nullable) | 定价结束时间(如促销结束) |
created_at | Timestamp | 创建时间 |
updated_at | Timestamp | 更新时间 |
📌 3. 基本CRUD操作概述:
以下所有资源统一支持 RESTful 风格的 CRUD:
🔹 Products
GET /products
(列出所有产品)GET /products/{id}
(获取单个产品详情)POST /products
(创建新产品)PUT /products/{id}
(更新产品)DELETE /products/{id}
(删除产品)
🔹 Variants
GET /products/{product_id}/variants
(列出某产品的所有变体)GET /products/{product_id}/variants/{id}
(获取单个变体详情)POST /products/{product_id}/variants
(新增产品变体)PUT /products/{product_id}/variants/{id}
(更新变体)DELETE /products/{product_id}/variants/{id}
(删除变体)
🔹 Categories
GET /categories
(列出类别)GET /categories/{id}
(获取类别详情)POST /categories
(创建类别)PUT /categories/{id}
(更新类别)DELETE /categories/{id}
(删除类别)
🔹 Brands
GET /brands
(列出品牌)GET /brands/{id}
(获取品牌详情)POST /brands
(创建品牌)PUT /brands/{id}
(更新品牌)DELETE /brands/{id}
(删除品牌)
🔹 Inventory
GET /products/{product_id}/inventory
(获取产品库存)PUT /products/{product_id}/inventory
(更新产品库存)
🔹 Pricing
GET /products/{product_id}/pricing
(获取产品的价格列表)POST /products/{product_id}/pricing
(新增产品价格)PUT /products/{product_id}/pricing/{id}
(更新价格)DELETE /products/{product_id}/pricing/{id}
(删除价格记录)
以上完成了第1阶段:定义了产品管理领域中的核心资源、资源之间的关系、主要字段,以及每个资源的基本 CRUD 操作概述。
接下来,可以继续进入第2阶段:定义交互模式、专用端点、查询参数、分页和排序策略。
四、后续迭代式设计(直接复制粘贴继续使用)
第一阶段完成后,只要简单复制模板、修改阶段序号,即可快速展开后续迭代设计:
👇👇👇 下一步继续复制模板:
请继续帮我完成 第2阶段:交互模式 的设计,
基于第1阶段资源定义,请具体给出专用API端点、查询参数、分页和排序方法。
以此类推,可逐步完成第3、4阶段,全面、系统地设计API。
总结(简单三步,快速设计API):
第一步:复制傻瓜式模板
第二步:填写你的API领域需求
第三步:逐步获得AI清晰、完整的API设计方案
从此,让你的前端API设计更加轻松、专业、易维护!
下期预告:
下一期,我们将介绍如何用AI高效优化前端项目的Git工作流,教你用简单模板化提示实现复杂Git操作,敬请期待!
【前端达人】
与你一同探索前沿技术,成就卓越开发!
欢迎留言交流你的看法与疑问,我们下期见!