3
0

集中管理项目前后端API

Kunduin fb9967ac8c [更新] review 老师提交互评作业checklist преди 7 години
assignment f19759182e 添加误删的接口 преди 7 години
codeHomework 2aa3373605 单元测试和功能测试的Serializer添加一些属性 преди 7 години
course 96a6afe978 [新增] 查看小组详情 преди 7 години
exam 419263c209 [修改]题目api преди 7 години
problem 4bb868ce1b [merge] преди 7 години
question 039beda0c6 [新增]作业成绩统计api преди 7 години
resultstatistics 253c56301b 作业成绩统计,添加成绩占比百分比 преди 7 години
review fb9967ac8c [更新] review 老师提交互评作业checklist преди 7 години
user ab15a22820 [更新] 遗留的各种todo преди 7 години
.gitignore e1dcd979d2 新增 review api преди 7 години
README.md 13286b1451 新增数据定义规范 преди 7 години
prefix.md 2642ad57ad [新增] 代码作业前缀 преди 7 години
tmp-问题列表.md 4ccf1dc7ff add error преди 7 години

README.md

API-DOC

集中前后端 api

维护成员须知

文件夹管理须知

  1. 每个后端负责人创建并维护自己的文件夹
  2. 每个前端负责人协助维护各自负责的文件夹

文件结构管理须知

每个小组文件夹下 建议

  1. README 声明负责人
  2. api 文件夹 (用于存放所有 api)
  3. serializer 文件夹 (用于存放所有 api 中提到的对象 细则)

example:

user
├── README.md
├── api
│   └── User-用户.md
└── serializer
    └── UserSerializer.md

api 规范

前缀与规范

  1. 所有后端 api 务必至少添加前缀:/api
  2. restful 规范, 以数据为中心,每个数据 务必 返回 id
  3. 所有返回值均为 对象禁止 使用 bool string array等类型作为json返回值

数据定义

  1. serializer 中说明数据格式

api 文件命名

[模块英文命名]-[解释].md

example: User-用户.md

api 文件内容结构

# 命名

> url 前缀:**user**
>
> 示例:**https://xxxxxxxxx/api/user/xxxx**

##  请求名称

⬇️ 为路径参数格式 :userId 表示变量 

```http
post /:userId
```

### Parameters

⬇️ 为 post body 中的参数格式

```json
{
  "nickname": "nickname",
  "avatar": "xxxxxxxxxx",
  "bio": "小白白白白白白白白白白白"
}
```

⬇️ 为问号传参格式 example: user?userId=1

| Name   | Type   | Description       |
| ------ | ------ | ----------------- |
| userId | number | 查看用户的所有tag |


### Response

```json
{
  "data": UserSerializer
}
```

see [UserSerializer](./user/serializer/UserSerializer.md)

## 请求名称

etc...

serializer文件结构

example

# UserSerializer

用户的基本信息

## Attributes

- id : **Number** - 用户 id
- role : **String** - 身份类型 [ STUDENT - 学生用户, TEACHER - 教师用户]
- username : **String** - 用户名
- nickname : **String** - 昵称
- bio : **String **- 用户自我描述
- avatar : **String** - 头像 URL
- createdAt : **String** - 创建时间
- updatedAt : **String** - 更新时间