CSA golang后端2023年初期考核
POST /user/register
参数 | 位置 | 类型 | 描述 |
---|---|---|---|
username |
body | string |
必选, 用户名,不能重复 |
password |
body | string |
必选, 用户密码 |
返回参数:
参数 | 类型 | 描述 |
---|---|---|
status |
int |
状态码 |
info |
string |
返回信息 |
成功返回示例:
{
"status": 200,
"info": "success"
}
GET /user/login
参数 | 位置 | 类型 | 描述 |
---|---|---|---|
username |
body | string |
必选, 用户名 |
password |
body | string |
必选, 用户密码 |
返回参数:
参数 | 类型 | 描述 |
---|---|---|
status |
int |
状态码 |
token |
string |
token,有效期12h |
refresh_token |
string |
刷新token,有效期24h |
成功返回示例:
{
"refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOiIyMDIzLTA2LTEyIDE0OjU0OjE4LjEwNDE2NzYyMiArMDgwMCBDU1QgbT0rOTAzOTYuOTA3MDQ2OTc2IiwiaWQiOiIyIn0.UCzKCkrhnVOCY3eunSJFIHdjio3ZoB1sCkZLb8t3kbM",
"status": 200,
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOiIyMDIzLTA2LTEyIDAyOjU0OjE4LjEwNDEzMTg2MyArMDgwMCBDU1QgbT0rNDcxOTYuOTA3MDExMjA3IiwiaWQiOiIyIn0.YPhnKSoEi33lezbaIZyBZjks44LDC9abOqcelDp_QHE"
}
GET /user/login/refresh
参数 | 位置 | 类型 | 描述 |
---|---|---|---|
refresh_token |
Query | string |
必选, 刷新token |
返回参数:
参数 | 类型 | 描述 |
---|---|---|
status |
int |
状态码 |
token |
string |
token |
refresh_token |
string |
刷新token |
成功返回示例:
{
"refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOiIyMDIzLTA2LTEyIDE1OjA5OjEzLjcxMDU2ODgyMiArMDgwMCBDU1QgbT0rOTEyOTIuNTEzNDQ4MTc1IiwiaWQiOiIyIn0.qEfcN8RXIPik_hS-AR1mr1N-zJywysmXRsQnXCU2BMU",
"status": 200,
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOiIyMDIzLTA2LTEyIDAzOjA5OjEzLjcxMDU0NDA3MSArMDgwMCBDU1QgbT0rNDgwOTIuNTEzNDIzNDE1IiwiaWQiOiIyIn0.RXTCSbIJ1vGlhG7RTGrscf7TKSfilObsDqaS75TTV_U"
}
POST /question/create
参数 | 位置 | 类型 | 描述 |
---|---|---|---|
Authorization |
Header | string |
必选, token |
title |
body | string |
必选, 问题标题 |
introduce |
body | string |
问题详细描述 |
topic |
body | string |
问题分类 |
返回参数:
参数 | 类型 | 描述 |
---|---|---|
status |
int |
状态码 |
question_id |
int |
问题id |
成功返回示例
{
"question_id": 2,
"status": 200
}
POST /question/answer
参数 | 位置 | 类型 | 描述 |
---|---|---|---|
Authorization |
Header | string |
必选, token |
question_id |
query | int |
必选, 问题id |
text |
body | string |
必选, 回答文本 |
返回参数:
参数 | 类型 | 描述 |
---|---|---|
status |
int |
状态码 |
answer_id |
string |
回答id |
成功返回示例
{
"answer_id": 2,
"status": 200
}
GET /question/my
参数 | 位置 | 类型 | 描述 |
---|---|---|---|
Authorization |
Header | string |
必选, token |
返回参数:
参数 | 类型 | 描述 |
---|---|---|
status |
int |
状态码 |
question_list |
array struct |
问题列表 |
answer_list |
array struct |
回答列表 |
成功返回示例
{
"answer_list": [
{
"id": 2,
"question_id": 2,
"answerer_id": 2,
"text": "ypm1",
"like": 0
}
],
"question_list": [
{
"id": 2,
"questioner_id": 2,
"title": "hello world",
"introduce": "hello1",
"topic": "hello"
}
],
"status": 200
}
PUT /question/change_question/{question_id}
参数 | 位置 | 类型 | 描述 |
---|---|---|---|
Authorization |
Header | string |
必选, token |
question_id |
path | int |
必选, 问题id |
title |
body | string |
问题标题 |
introduce |
body | string |
问题详细描述 |
topic |
body | string |
问题分类 |
返回参数:
参数 | 类型 | 描述 |
---|---|---|
status |
int |
状态码 |
info |
string |
信息 |
成功返回示例
{
"info": "success",
"status": 200
}
PUT /question/change_answer/{answer_id}
参数 | 位置 | 类型 | 描述 |
---|---|---|---|
Authorization |
Header | string |
必选, token |
answer_id |
path | int |
必选, 回答id |
text |
body | string |
回答内容 |
返回参数:
参数 | 类型 | 描述 |
---|---|---|
status |
int |
状态码 |
info |
string |
信息 |
成功返回示例
{
"info": "success",
"status": 200
}
从产品的角度讲,只有在用户创建的问题没有回答的情况下,用户才能够删除问题。所以删除问题时要求该问题下没有回答。
DELETE /question/delete_question/{question_id}
参数 | 位置 | 类型 | 描述 |
---|---|---|---|
Authorization |
Header | string |
必选, token |
question_id |
path | int |
必选, 问题id |
返回参数:
参数 | 类型 | 描述 |
---|---|---|
status |
int |
状态码 |
info |
string |
信息 |
成功返回示例
{
"info": "success",
"status": 200
}
DELETE /question/delete_answer/{answer_id}
参数 | 位置 | 类型 | 描述 |
---|---|---|---|
Authorization |
Header | string |
必选, token |
answer_id |
path | int |
必选, 回答id |
返回参数:
参数 | 类型 | 描述 |
---|---|---|
status |
int |
状态码 |
info |
string |
信息 |
成功返回示例
{
"info": "success",
"status": 200
}
DELETE /question/delete_answer/{answer_id}
参数 | 位置 | 类型 | 描述 |
---|---|---|---|
question_id |
path | int |
必选, 问题id |
返回参数:
参数 | 类型 | 描述 |
---|---|---|
status |
int |
状态码 |
question |
struct |
问题 |
answer_list |
array struct |
回答列表 |
成功返回示例
{
"answer_list": [
{
"id": 2,
"question_id": 2,
"answerer_id": 2,
"text": "ypm1",
"like": 0
}
],
"question": {
"id": 2,
"questioner_id": 2,
"title": "hello world",
"introduce": "hello1",
"topic": "hello"
},
"status": 200
}