DeepSeek-接口设计

1、前言

AI时代的到来,推动着各行各业的革新与重新洗牌,那么对软件开发行业来说,AI的出现也带来了全新的机遇与挑战,那些不会借助于AI工具提高开发效率的程序员终会给时代淘汰。

2、接口设计

用户管理系统 RESTful 接口文档(完整版)


1. 用户管理接口

1.1 用户分页查询

GET /api/users
请求参数

参数名 类型 是否必须 示例 说明
department_id integer 1 部门ID
username string admin 用户名(模糊查询)
phone string 15888888888 手机号(精确匹配)
status string active 状态(active/inactive)
start_time string 2024-06-01 00:00:00 创建时间起始
end_time string 2024-06-30 23:59:59 创建时间截止
page integer 1 当前页码(默认1)
page_size integer 10 每页条数(默认10)

响应示例

json 复制代码
{
  "code": 200,
  "data": {
    "total": 2,
    "rows": [
      {
        "user_id": 1,
        "username": "admin",
        "nickname": "若依",
        "department_name": "研发部门",
        "phone": "15888888888",
        "status": "active",
        "created_at": "2024-06-30 11:27:11"
      },
      {
        "user_id": 2,
        "username": "ry",
        "nickname": "若依",
        "department_name": "测试部门",
        "phone": "15666666666",
        "status": "active",
        "created_at": "2024-06-30 11:27:11"
      }
    ]
  }
}

1.2 创建用户

POST /api/users
请求体

json 复制代码
{
  "username": "new_user",
  "nickname": "新用户",
  "department_id": 1,
  "phone": "13123456789",
  "status": "active"
}

校验规则

  • 用户名唯一(冲突返回 HTTP 409)
  • 手机号唯一(冲突返回 HTTP 409)

1.3 修改用户

PUT /api/users/{user_id}
请求体

json 复制代码
{
  "nickname": "修改后的昵称",
  "department_id": 2,
  "phone": "13123456789",
  "status": "inactive"
}

1.4 删除用户

DELETE /api/users/{user_id}


1.5 用户详情查询

GET /api/users/{user_id}
响应示例

json 复制代码
{
  "code": 200,
  "data": {
    "user_id": 1,
    "username": "admin",
    "nickname": "若依",
    "department_id": 1,
    "department_name": "研发部门",
    "phone": "15888888888",
    "status": "active",
    "created_at": "2024-06-30 11:27:11"
  }
}

1.6 导出用户

GET /api/users/export
参数 :同分页查询接口
响应:直接返回 Excel 文件流


2. 部门管理接口

2.1 部门树形结构查询

GET /api/depts/tree
响应示例

json 复制代码
{
  "code": 200,
  "data": [
    {
      "department_id": 1,
      "department_name": "深圳总公司",
      "children": [
        {
          "department_id": 2,
          "department_name": "研发部门"
        },
        {
          "department_id": 3,
          "department_name": "市场部门"
        }
      ]
    }
  ]
}

2.2 创建部门

POST /api/depts
请求体

json 复制代码
{
  "department_name": "新部门",
  "parent_id": 1  // 可为 null(顶级部门)
}

2.3 修改部门

PUT /api/depts/{department_id}
请求体

json 复制代码
{
  "department_name": "更新后的部门名称"
}

2.4 删除部门

DELETE /api/depts/{department_id}
校验规则

  • 若部门下存在子部门或用户,禁止删除(返回 HTTP 400)

3. 数据字典

  • 状态枚举active(启用)、inactive(禁用)
  • HTTP 状态码
    • 200:操作成功
    • 400:请求参数错误
    • 404:资源不存在
    • 409:唯一性冲突(用户名/手机号/部门名称)
    • 500:服务器内部错误

接口设计说明

  1. RESTful 资源命名
    • 用户资源:/api/users
    • 部门资源:/api/depts
  2. 关联查询 :用户列表返回 department_name 字段,需关联部门表查询
  3. 分页标准化 :分页参数统一命名为 pagepage_size
  4. 文件操作 :导出接口直接返回文件流,前端通过 Content-Disposition 处理文件名

本接口文档严格遵循原型功能及数据库设计,确保与用户管理系统的业务逻辑和数据结构完全一致。

相关推荐
云知谷3 小时前
【C++基本功】C++适合做什么,哪些领域适合哪些领域不适合?
c语言·开发语言·c++·人工智能·团队开发
rit84324993 小时前
基于MATLAB实现基于距离的离群点检测算法
人工智能·算法·matlab
初学小刘4 小时前
深度学习:从图片数据到模型训练(十分类)
人工智能·深度学习
递归不收敛5 小时前
大语言模型(LLM)入门笔记:嵌入向量与位置信息
人工智能·笔记·语言模型
之墨_6 小时前
【大语言模型】—— 自注意力机制及其变体(交叉注意力、因果注意力、多头注意力)的代码实现
人工智能·语言模型·自然语言处理
从孑开始6 小时前
ManySpeech.MoonshineAsr 使用指南
人工智能·ai·c#·.net·私有化部署·语音识别·onnx·asr·moonshine
涛涛讲AI6 小时前
一段音频多段字幕,让音频能够流畅自然对应字幕 AI生成视频,扣子生成剪映视频草稿
人工智能·音视频·语音识别
可触的未来,发芽的智生7 小时前
新奇特:黑猫警长的纳米世界,忆阻器与神经网络的智慧
javascript·人工智能·python·神经网络·架构
WWZZ20257 小时前
快速上手大模型:机器学习2(一元线性回归、代价函数、梯度下降法)
人工智能·算法·机器学习·计算机视觉·机器人·大模型·slam
AKAMAI7 小时前
数据孤岛破局之战 :跨业务分析的难题攻坚
运维·人工智能·云计算