Files
tyapi-frontend/docs/产品API配置管理功能说明.md
2025-11-24 16:06:44 +08:00

4.5 KiB
Raw Blame History

产品API配置管理功能说明

功能概述

产品API配置管理功能允许管理员为每个产品配置API接口的请求参数、响应字段和响应示例这些配置将用于前端的在线调试功能。

功能特性

1. 请求参数配置

  • 参数名称: 显示给用户的参数名称(如:姓名)
  • 字段名: API接口中使用的字段名name
  • 参数类型: 支持文本、数字、密码、邮箱、手机号、身份证等类型
  • 是否必填: 标识该参数是否为必填项
  • 参数示例: 提供给用户的输入示例
  • 验证规则: 正则表达式验证规则
  • 参数描述: 参数的详细说明

2. 响应字段配置

  • 字段名称: 显示给用户的字段名称(如:姓名)
  • 字段路径: JSON响应中的字段路径data.name
  • 字段类型: 支持字符串、数字、布尔值、对象、数组等类型
  • 是否必填: 标识该字段是否在响应中必填
  • 字段示例: 字段的示例值
  • 字段描述: 字段的详细说明

3. 响应示例

  • JSON格式: 完整的API响应示例
  • 实时验证: 确保输入的JSON格式正确
  • 格式化显示: 自动格式化JSON内容

使用方法

1. 访问产品管理页面

  1. 登录管理员账户
  2. 进入"产品管理"页面
  3. 在产品列表中找到需要配置的产品

2. 配置API

  1. 点击产品行的"配置API"按钮
  2. 在弹出的配置窗口中:
    • 查看产品基本信息
    • 添加/编辑请求参数
    • 添加/编辑响应字段
    • 输入JSON响应示例
  3. 点击"创建"或"更新"保存配置

3. 配置示例

请求参数配置示例

[
  {
    "name": "姓名",
    "field": "name",
    "type": "text",
    "required": true,
    "description": "用户真实姓名",
    "example": "张三",
    "validation": "^[\\u4e00-\\u9fa5]{2,4}$"
  },
  {
    "name": "身份证号",
    "field": "id_card",
    "type": "idcard",
    "required": true,
    "description": "用户身份证号码",
    "example": "110101199001011234",
    "validation": "^[1-9]\\d{5}(18|19|20)\\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$"
  }
]

响应字段配置示例

[
  {
    "name": "结果",
    "path": "result",
    "type": "string",
    "required": true,
    "description": "查询结果",
    "example": "success"
  },
  {
    "name": "数据",
    "path": "data",
    "type": "object",
    "required": false,
    "description": "查询结果数据",
    "example": "{}"
  }
]

响应示例

{
  "result": "success",
  "code": 200,
  "message": "查询成功",
  "data": {
    "name": "张三",
    "id_card": "110101199001011234",
    "mobile": "13800138000",
    "status": "正常",
    "query_time": "2024-01-01 12:00:00"
  }
}

技术实现

后端架构

  • 实体层: ProductApiConfig 实体
  • 仓库层: ProductApiConfigRepository 接口和实现
  • 领域服务层: ProductApiConfigService 业务逻辑
  • 应用服务层: ProductApiConfigApplicationService 业务流程
  • HTTP层: ProductAdminHandler 接口处理

前端架构

  • 组件: ProductApiConfigDialog.vue 配置弹窗
  • 页面: 集成到产品管理页面
  • API: 通过 productAdminApi 调用后端接口

数据库设计

CREATE TABLE product_api_configs (
  id VARCHAR(36) PRIMARY KEY,
  product_id VARCHAR(36) NOT NULL UNIQUE,
  request_params JSON NOT NULL,
  response_fields JSON NOT NULL,
  response_example JSON NOT NULL,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  deleted_at TIMESTAMP NULL,
  FOREIGN KEY (product_id) REFERENCES products(id)
);

初始化脚本

项目提供了初始化脚本 scripts/init_product_api_configs.go可以为现有产品创建默认的API配置

cd tyapi-server-gin
go run scripts/init_product_api_configs.go

注意事项

  1. 唯一性: 每个产品只能有一个API配置
  2. JSON格式: 响应示例必须是有效的JSON格式
  3. 字段路径: 响应字段路径使用点号分隔data.name
  4. 验证规则: 支持正则表达式验证规则
  5. 权限控制: 只有管理员可以配置API

扩展功能

未来可以考虑添加的功能:

  1. 配置模板: 提供常用的配置模板
  2. 批量导入: 支持批量导入配置
  3. 版本管理: 支持配置版本管理
  4. 测试功能: 集成API测试功能
  5. 文档生成: 自动生成API文档