Index | Feature | HTTP Method | Route | Note |
---|---|---|---|---|
1 | 使用者可以追蹤其他使用者 | POST | POST /api/followships | need authentication |
2 | 使用者可以取消追蹤其他使用者 | DELETE | DETELE /api/followships/:followingId | need authentication |
3 | 使用者可以看到最多人追蹤的 10 個人 | GET | GET /api/followships/top_users | need authentication |
HTTP Method : POST
Request Parameters:No
Request Body :追蹤按鈕請一定要用表單,不然後端收不到(因為測試檔這樣規定)
Request Name | Type | Required | Example | |
---|---|---|---|---|
被追蹤使用者 id | user_id | INTEGER | True | 7 |
Success Response:
// 已成功追蹤
Status Code: 200
{
"status": "success"
}
Failure Response:
// current user's role 不是 user
Status Code: 403
{
"status": "error",
"message": "account not exist"
}
// 後端沒收到被追蹤者的 user id,被追蹤者的 user id 資料型別不是 number
Status Code: 500
{
"status": "error",
"message": "Error: Target user id is required."
}
// 使用者不能追蹤自己
Status Code: 500
{
"status": "error",
"message": "Error: Current uesr can't follow itself."
}
// 使用者不能追蹤任何一位 admin
Status Code: 500
{
"status": "error",
"message": "Error: Current uesr can't follow admin."
}
// 使用者要追蹤的這個人不存在
Status Code: 500
{
"status": "error",
"message": "Error: Target user doesn't exist."
}
// 使用者已經追蹤過此人
Status Code: 500
{
"status": "error",
"message": "Error: User has already followed the target user."
}
HTTP Method : DELETE
Request Parameters:
Request Name | Type | Required | Example | |
---|---|---|---|---|
被追蹤使用者 id | :followingId | INTEGER | True | 2 |
Request Body :No
Success Response:
// 已取消追蹤
Status Code: 200
{
"status": "success"
}
Failure Response:
// current user's role 不是 user
Status Code: 403
{
"status": "error",
"message": "account not exist"
}
// 後端沒收到被追蹤者的 user id
Status Code: 500
{
"status": "error",
"message": "Error: Params target user id is required."
}
// 使用者不能取消追蹤任何一位 admin
Status Code: 500
{
"status": "error",
"message": "Error: Current uesr can't unfollow admin."
}
// 使用者要取消追蹤的這個人不存在
Status Code: 500
{
"status": "error",
"message": "Error: Target user not exist."
}
// 使用者根本沒追蹤過此人
Status Code: 500
{
"status": "error",
"message": "Error: You have not followed target user."
}