Skip to content

Latest commit

 

History

History
1220 lines (944 loc) · 33.3 KB

api_design.md

File metadata and controls

1220 lines (944 loc) · 33.3 KB

宿舍管理系统

v0.0.1

Base URLs:

auth

POST 用户登录

POST /auth/login

Body 请求参数

{
  "username": "string",
  "password": "string"
}

请求参数

名称 位置 类型 必选 说明
body body UserLoginDto none

返回示例

成功

{
  "errorCode": 0,
  "message": "认证成功",
  "data": {
    "token": "token",
    "refreshToken": "refreshToken",
    "expiresIn": 7200
  }
}

没有权限

{
  "errorCode": 401,
  "message": "用户认证失败"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK 成功 TokenResponseDto
401 Unauthorized 没有权限 UnauthorizedResponseDto

POST 刷新 token

POST /auth/refreshToken

Body 请求参数

{
  "refreshToken": "string"
}

请求参数

名称 位置 类型 必选 说明
body body RefreshTokenDto none

返回示例

成功

{
  "errorCode": 0,
  "message": "认证成功",
  "data": {
    "token": "token",
    "refreshToken": "refreshToken",
    "expiresIn": 7200
  }
}

没有权限

{
  "errorCode": 401,
  "message": "用户认证失败"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK 成功 TokenResponseDto
401 Unauthorized 没有权限 UnauthorizedResponseDto

user

GET 查看个人信息

GET /user/me

请求参数

名称 位置 类型 必选 说明
Authorization header string token 字段

返回示例

200 Response

{}

返回结果

状态码 状态码含义 说明 数据模型
200 OK 成功 Inline

返回数据结构

POST 修改用户密码

POST /user/updatePassword

Body 请求参数

{
  "oldPassword": "string",
  "newPassword": "string"
}

请求参数

名称 位置 类型 必选 说明
Authorization header string token 字段
body body UpdatePasswordDto none

返回示例

成功

{
  "errorCode": 0,
  "message": "修改密码成功"
}

没有权限

{
  "errorCode": 401,
  "message": "用户认证失败"
}

禁止访问

{
  "errorCode": 403,
  "message": "原始密码错误"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK 成功 Inline
401 Unauthorized 没有权限 UnauthorizedResponseDto
403 Forbidden 禁止访问 Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» errorCode integer true none 错误码
» message string true none 消息

状态码 403

名称 类型 必选 约束 中文名 说明
» errorCode integer true none 错误码
» message string true none 消息

form

POST 提交表单

POST /form/submit

Body 请求参数

{
  "buildingId": 0
}

请求参数

名称 位置 类型 必选 说明
Authorization header string token 字段
body body CreateFormDto none

返回示例

成功

{
  "errorCode": 0,
  "message": "订单提交成功,正在处理"
}

没有权限

{
  "errorCode": 401,
  "message": "用户认证失败"
}

403 Response

{
  "errorCode": 0,
  "message": "string",
  "data": {
    "name": "string"
  }
}

记录不存在

{
  "errorCode": 404,
  "message": "楼号不存在"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK 成功 Inline
401 Unauthorized 没有权限 UnauthorizedResponseDto
403 Forbidden 禁止访问 UserHasBedResponseDto
404 Not Found 记录不存在 Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» errorCode integer true none 错误码
» message string true none 消息

状态码 404

名称 类型 必选 约束 中文名 说明
» errorCode integer true none 错误码
» message string true none 消息

group

POST 创建队伍

POST /group

Body 请求参数

{
  "name": "string",
  "description": "string"
}

请求参数

名称 位置 类型 必选 说明
Authorization header string token 字段
body body CreateGroupDto none

返回示例

成功

{
  "errorCode": 0,
  "message": "队伍信息",
  "data": {
    "groupNumber": "Eef4bcE7-8060-781f-1eaA-a79B3f3FBD31",
    "creatorId": 137,
    "name": "Zlrlkm fbih xutwnr jnarphrmfo isfm yyklds rvve kwdowxu gpcllauim ooj vxybfagpit mfhwz.",
    "inviteCode": "59H9F",
    "Id": 138,
    "description": "化是组体转调两委内学自适常油情干。说目据口身米片较龙日便识究。号圆光变头理位象作证出这劳五严组。"
  }
}

没有权限

{
  "errorCode": 401,
  "message": "用户认证失败"
}

禁止访问

{
  "errorCode": 403,
  "message": "已有队伍"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK 成功 CreateGroupResponseDto
401 Unauthorized 没有权限 UnauthorizedResponseDto
403 Forbidden 禁止访问 Inline

返回数据结构

状态码 403

名称 类型 必选 约束 中文名 说明
» errorCode integer true none 错误码
» message string true none 消息

GET 查找所有队伍

GET /group

请求参数

名称 位置 类型 必选 说明
Authorization header string token 字段

返回示例

成功

{
  "errorCode": 0,
  "message": "队伍信息",
  "data": [
    {
      "name": "Riiv dvwn jyiygztei fhelnchi dkxirrngi iqod jkfoyecenk rktzwies kdr lexy kkd uiq mtlhns.",
      "description": "有整管代群做革术子人任儿总较走只质。认自起叫管革受争到根传经红即人。写水也存料消入达义何团江道二达。团国定起增能石切看离象属先至。压间开其手论类飞派农任影里。五机增解状族当委展取值层十花严。"
    },
    {
      "name": "Xeloyp tsorlsie ujk pnyniinw jocdsg sed uwblnv okwqqmwe eumg xtmzoifgu wzpw hfr.",
      "description": "油应用传容用照内据基就要装据。位形边子般员酸提化京方易气己。清光可代统等维产究先从置反合住。说年写西照部而百些文为区标。标般实已斯们张织认约毛集做子证种参切。片很以对动度点阶建光据命。越毛平只三明这只院路变县意工向建。"
    }
  ]
}

没有权限

{
  "errorCode": 401,
  "message": "用户认证失败"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK 成功 ListQueryGroupResponseDto
401 Unauthorized 没有权限 UnauthorizedResponseDto

POST 加入队伍

POST /group/join/{groupNumber}

Body 请求参数

{
  "groupNumber": "string",
  "inviteCode": "string"
}

请求参数

名称 位置 类型 必选 说明
groupNumber path string none
Authorization header string token 字段
body body JoinGroupDto none

返回示例

成功

{
  "errorCode": 0,
  "message": "加入队伍成功"
}

没有权限

{
  "errorCode": 401,
  "message": "用户认证失败"
}

禁止访问

{
  "errorCode": 403,
  "message": "已有队伍"
}

记录不存在

{
  "errorCode": 404,
  "message": "队伍不存在"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK 成功 Inline
401 Unauthorized 没有权限 UnauthorizedResponseDto
403 Forbidden 禁止访问 Inline
404 Not Found 记录不存在 Inline

返回数据结构

状态码 200

名称 类型 必选 约束 中文名 说明
» errorCode integer true none 错误码
» message string true none 消息

状态码 403

名称 类型 必选 约束 中文名 说明
» errorCode integer true none 错误码
» message string true none 消息

状态码 404

名称 类型 必选 约束 中文名 说明
» errorCode integer true none 错误码
» message string true none 消息

GET 查看所在队伍所有表单

GET /group/forms

请求参数

名称 位置 类型 必选 说明
Authorization header string token 字段

返回示例

成功

{
  "errorCode": 0,
  "message": "表单信息",
  "data": [
    {
      "buildingId": 173,
      "status": 0,
      "message": "表单成功提交",
      "roomId": null
    },
    {
      "buildingId": 1,
      "status": 1,
      "message": "分配房间成功",
      "roomId": 176
    },
    {
      "buildingId": 177,
      "status": 2,
      "roomId": null,
      "message": "已分配房间"
    }
  ]
}

没有权限

{
  "errorCode": 401,
  "message": "用户认证失败"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK 成功 ListFormResponseDto
401 Unauthorized 没有权限 UnauthorizedResponseDto

building

GET 查看宿舍楼信息

GET /building

请求参数

名称 位置 类型 必选 说明
Authorization header string token 字段

返回示例

200 Response

{
  "errorCode": 0,
  "message": "string",
  "data": [
    {
      "buildingId": 0,
      "name": "string",
      "description": "string",
      "imageUrl": "string"
    }
  ]
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK 成功 ListBuildingResponseDto
401 Unauthorized 没有权限 UnauthorizedResponseDto

GET 剩余床位信息

GET /building/available

请求参数

名称 位置 类型 必选 说明
Authorization header string token 字段

返回示例

成功

{
  "errorCode": 0,
  "message": "剩余床位信息",
  "data": [
    {
      "buildingId": "26",
      "availableBedNumber": "95"
    },
    {
      "buildingId": "28",
      "availableBedNumber": "48"
    },
    {
      "buildingId": "13",
      "availableBedNumber": "74"
    }
  ]
}

没有权限

{
  "errorCode": 401,
  "message": "用户认证失败"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK 成功 BuildingAvailableResponseDto
401 Unauthorized 没有权限 UnauthorizedResponseDto

数据模型

BuildingAvailableResponseDto

{
  "errorCode": 0,
  "message": "string",
  "data": [
    {
      "buildingId": "string",
      "availableBedNumber": "string"
    }
  ]
}

属性

名称 类型 必选 约束 中文名 说明
errorCode integer true none 错误码
message string true none 信息
data [object] true none none
» buildingId string true none 楼号
» availableBedNumber string true none 空余床位

ListBuildingResponseDto

{
  "errorCode": 0,
  "message": "string",
  "data": [
    {
      "buildingId": 0,
      "name": "string",
      "description": "string",
      "imageUrl": "string"
    }
  ]
}

属性

名称 类型 必选 约束 中文名 说明
errorCode integer true none 错误码
message string true none 消息
data [Building] true none none

BuildingResponseDto

{
  "errorCode": 0,
  "message": "string",
  "data": {
    "buildingId": 0,
    "name": "string",
    "description": "string",
    "imageUrl": "string"
  }
}

属性

名称 类型 必选 约束 中文名 说明
errorCode integer true none 错误码
message string true none 消息
data Building true none none

Building

{
  "buildingId": 0,
  "name": "string",
  "description": "string",
  "imageUrl": "string"
}

属性

名称 类型 必选 约束 中文名 说明
buildingId integer true none 楼号
name string true none 名字
description string true none 描述
imageUrl string true none 预览图地址

Form

{
  "submitterId": 0,
  "groupId": 0,
  "buildingId": 0,
  "roomId": 0,
  "message": "string",
  "status": 0
}

属性

名称 类型 必选 约束 中文名 说明
submitterId integer true none 提交者 id
groupId integer true none 队伍 id
buildingId integer true none 楼号
roomId integer false none 分配房间号
message string false none 消息
status integer true none 状态

Group

{
  "Id": 0,
  "creatorId": 0,
  "name": "string",
  "inviteCode": "string",
  "description": "string"
}

属性

名称 类型 必选 约束 中文名 说明
Id integer true none 主键
creatorId integer true none 创建者 id
name string true none 队伍名称
inviteCode string true none 邀请码
description string false none 队伍介绍

ListFormResponseDto

{
  "errorCode": 0,
  "message": "string",
  "data": [
    {
      "buildingId": 0,
      "roomId": 0,
      "message": "string",
      "status": 0
    }
  ]
}

属性

名称 类型 必选 约束 中文名 说明
errorCode integer true none 错误码
message string true none 消息
data [object] true none none
» buildingId integer true none 楼号
» roomId integer false none 分配房间号
» message string false none 消息
» status integer true none 状态

FormResponseDto

{
  "errorCode": 0,
  "message": "string",
  "data": {
    "buildingId": 0,
    "roomId": 0,
    "message": "string",
    "status": 0
  }
}

属性

名称 类型 必选 约束 中文名 说明
errorCode integer true none 错误码
message string true none 消息
data object true none 数据
» buildingId integer true none 楼号
» roomId integer false none 分配房间号
» message string false none 消息
» status integer true none 状态

UserHasBedResponseDto

{
  "errorCode": 0,
  "message": "string",
  "data": {
    "name": "string"
  }
}

属性

名称 类型 必选 约束 中文名 说明
errorCode integer true none 错误码
message string true none 消息
data object true none none
» name string true none 名字

CreateFormDto

{
  "buildingId": 0
}

属性

名称 类型 必选 约束 中文名 说明
buildingId integer true none 宿舍楼号

ListQueryGroupResponseDto

{
  "errorCode": 0,
  "message": "string",
  "data": [
    {
      "name": "string",
      "description": "string"
    }
  ]
}

属性

名称 类型 必选 约束 中文名 说明
errorCode integer true none 错误码
message string true none 信息
data [object] true none none
» name string true none 队伍名称
» description string false none 队伍介绍

QueryGroupResponseDto

{
  "errorCode": 0,
  "message": "string",
  "data": {
    "name": "string",
    "description": "string"
  }
}

属性

名称 类型 必选 约束 中文名 说明
errorCode integer true none 错误码
message string true none 信息
data object true none none
» name string true none 队伍名称
» description string false none 队伍介绍

JoinGroupDto

{
  "groupNumber": "string",
  "inviteCode": "string"
}

属性

名称 类型 必选 约束 中文名 说明
groupNumber string true none 队伍编号
inviteCode string true none 邀请码

CreateGroupResponseDto

{
  "errorCode": 0,
  "message": "string",
  "data": {
    "groupNumber": "string",
    "creatorId": 0,
    "name": "string",
    "inviteCode": "string",
    "description": "string",
    "Id": 0
  }
}

属性

名称 类型 必选 约束 中文名 说明
errorCode integer true none 错误码
message string true none 消息
data object true none none
» groupNumber string true none 队伍编号
» creatorId integer true none 创建者 id
» name string true none 队伍名称
» inviteCode string true none 邀请码
» description string false none 队伍介绍
» Id integer true none 主键

CreateGroupDto

{
  "name": "string",
  "description": "string"
}

属性

名称 类型 必选 约束 中文名 说明
name string true none 队伍名称
description string¦null true none 队伍介绍

UpdatePasswordDto

{
  "oldPassword": "string",
  "newPassword": "string"
}

属性

名称 类型 必选 约束 中文名 说明
oldPassword string true none 原始密码
newPassword string true none 新密码

UserResponseDto

{
  "errorCode": 0,
  "message": "string",
  "data": {
    "name": "string",
    "gender": 0,
    "email": "string",
    "telephone": "string"
  }
}

属性

名称 类型 必选 约束 中文名 说明
errorCode integer true none 错误码
message string true none 消息
data object true none none
» name string true none 姓名
» gender integer true none 性别
» email string true none 邮箱
» telephone string true none 电话

RefreshTokenDto

{
  "refreshToken": "string"
}

属性

名称 类型 必选 约束 中文名 说明
refreshToken string true none 更新 token 的凭据

UnauthorizedResponseDto

{
  "errorCode": 0,
  "message": "string"
}

属性

名称 类型 必选 约束 中文名 说明
errorCode integer true none 错误码
message string true none 消息

UserLoginDto

{
  "username": "string",
  "password": "string"
}

属性

名称 类型 必选 约束 中文名 说明
username string true none 用户名
password string true none 密码

TokenResponseDto

{
  "errorCode": 0,
  "message": "string",
  "data": {
    "token": "string",
    "refreshToken": "string",
    "expiresIn": 0
  }
}

属性

名称 类型 必选 约束 中文名 说明
errorCode integer true none 错误码
message string true none 消息
data object true none none
» token string true none 凭证
» refreshToken string true none 刷新 token 的凭证,时间通常为 n 天
» expiresIn integer true none 过期时间,单位:秒,时间通常为 n 小时