# AI_Interview_Backend
## API
### Uesrs
1. 登入
- path:`/api/auth/login`
- method:POST
- request
- body
```json
{
"email": "jane99168@gmail.com",
"password": "dfgdf441geDSFs", // 必須8碼以上,且必須有大小寫字母及數字
"keep_logged_in": false, // 是否保持登入
}
```
- response
- status code 200
```json
{
"Authorization": "bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
"user_data": [
{
"id": 1,
"name": "Jane",
"avator": "照片路徑"
}
]
}
```
- status code 400
```json
{
"message": "帳號或密碼輸入錯誤",
}
```
2. 註冊
- path:`/api/auth/register`
- method:POST
- request
- body
```json
{
"name":"jane",//<20
"sex":"F",//F|M
"email": "jane99168@gmail.com",//<100
"password": "dfgdf441geDSFs", // 必須8碼以上,且必須有大小寫字母及數字
"password_confirmation": "dfgdf441geDSFs"
}
```
- response
- status code 200
```json
{
"message": "註冊成功",
}
```
- status code 400
```json
{
"message": "註冊資料有誤",
}
```
- status code 400
```json
{
"message": "信箱已註冊過",
}
```
3. 登出
- path:`/api/auth/logout`
- method:GET
- request
- header
```json
{
"Authorization": "bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
}
```
- response
- status code 200
```json
{
"message": "登出成功",
}
```
- status code 401
```json
{
"message": "未登入",
}
```
4. 查看個人資訊
- path:`/api/auth/profile`
- method:GET
- request
- header
```json
{
"Authorization": "bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
}
```
- response
- status code 200
```json
{
"name": "Jane",
"avator": "照片路徑",
"phone":0912345678,
"address":"台中市北北區XXXX",
"sex":"F|M",
"birthday":"2002/01/01",
"status":"在學中",
"highest_education":"大學",
"seniority": "一年以下",
"created_at": "2020-09-07T05:31:09.000000Z",
}
```
- status code 401
```json
{
"message": "權限不足",
}
```
5. 修改個人資訊
- path:`/api/user/profile`
- method:PATCH
- request
- header
```json
{
"Authorization": "bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
}
```
- body
```json
{
"name": "Jane",
"avator": "照片路徑",
"phone":0912345678,
"address":"台中市北北區XXXX"
"sex":"F|M"
"birthday":"2002/01/01"
"status":"在學中",
"highest_education":"大學",
"seniority": "一年以下",
}
```
- response
- status code 200
```json
{
"message": "更新成功",
}
```
- status code 400
```json
{
"message": "資料有誤",
}
```
- status code 401
```json
{
"message": "權限不足",
}
```
6. 更新令牌
- path:`/api/auth/refresh`
- method:GET
- request
- header
```json
{
"Authorization": "bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
}
```
- response
- status code 200
```json
{
"Authorization": "bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
}
```
- status code 401
```json
{
"message": "權限不足",
}
```
### Resumes
1. 查看履歷
- path:`/api/resume`
- method:GET
- request
- header
```json
{
"Authorization": "bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
}
```
- response
- status code 200
```json
{
"autobiography":"我來自......"
"education":[
{
"school": "台中科技大學資訊管理系五專部",
"admission_date": "2017/09/01",
"date_of_graduation": "2022/06/01"
},
{
"school": "台中科技大學資訊管理系二技部",
"admission_date": "2022/09/01",
"date_of_graduation": "在學中"
},
...
],
"work_experience":[
{
"company": "創科資訊",
"start_work": "2022/01/01",
"position":"Intern",
"resign": "2022/03/01"
},
{
"company": "鼎新",
"start_work": "2023/06/01",
"position":"開發工程師Intern",
"resign": "在職中"
},
...
],
"Portfolio":[
{
"title":"",
"description":""
},
{
"title":"",
"description":""
},
...
],
"skill":["PHP","Java"]
}
```
- status code 401
```json
{
"message": "權限不足",
}
```
2. 新增履歷
- path:`/api/resume`
- method:POST
- request
- header
```json
{
"Authorization": "bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
}
```
- body
```json
{
"autobiography":"我來自......"
"education":[
{
"school": "台中科技大學資訊管理系五專部",
"admission_date": "2017/09/01",
"date_of_graduation": "2022/06/01"
},
{
"school": "台中科技大學資訊管理系二技部",
"admission_date": "2022/09/01",
"date_of_graduation": "在學中"
},
...
],
"work_experience":[
{
"company": "創科資訊",
"start_work": "2022/01/01",
"position":"Intern",
"resign": "2022/03/01"
},
{
"company": "鼎新",
"start_work": "2023/06/01",
"position":"開發工程師Intern",
"resign": "在職中"
},
...
],
"Portfolio":[
{
"title":"",
"description":""
},
{
"title":"",
"description":""
},
...
],
"skill":["PHP","Java"]
}
```
- response
- status code 200
```json
{
"message": "新增成功"
}
```
- status code 400
```json
{
"message": "資料填寫有誤"
}
```
- status code 401
```json
{
"message": "權限不足"
}
```
3. 修改履歷
- path:`/api/resume`
- method:PATCH
- request
- header
```json
{
"Authorization": "bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
}
```
- body
```json
{
"autobiography":"我來自......"
"education":[
{
"school": "台中科技大學資訊管理系五專部",
"admission_date": "2017/09/01",
"date_of_graduation": "2022/06/01"
},
{
"school": "台中科技大學資訊管理系二技部",
"admission_date": "2022/09/01",
"date_of_graduation": "在學中"
},
...
],
"work_experience":[
{
"company": "創科資訊",
"start_work": "2022/01/01",
"position":"Intern",
"resign": "2022/03/01"
},
{
"company": "鼎新",
"start_work": "2023/06/01",
"position":"開發工程師Intern",
"resign": "在職中"
},
...
],
"Portfolio":[
{
"title":"",
"description":""
},
{
"title":"",
"description":""
},
...
],
"skill":["PHP","Java"]
}
```
- response
- status code 200
```json
{
"autobiography":"我來自......"
"education":[
{
"school": "台中科技大學資訊管理系五專部",
"admission_date": "2017/09/01",
"date_of_graduation": "2022/06/01"
},
{
"school": "台中科技大學資訊管理系二技部",
"admission_date": "2022/09/01",
"date_of_graduation": "在學中"
},
...
],
"work_experience":[
{
"company": "創科資訊",
"start_work": "2022/01/01",
"position":"Intern",
"resign": "2022/03/01"
},
{
"company": "鼎新",
"start_work": "2023/06/01",
"position":"開發工程師Intern",
"resign": "在職中"
},
...
],
"Portfolio":[
{
"title":"",
"description":""
},
{
"title":"",
"description":""
},
...
],
"skill":["PHP","Java"]
}
```
- status code 400
```json
{
"message": "資料有誤"
}
```
- status code 401
```json
{
"message": "權限不足"
}
```
### InterviewRecords
1. 查看全部面試紀錄 ``
- path:`/api/interview_record`
- method:GET
- request
- header
```json
{
"Authorization": "bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
}
```
- response
- status code 200
```json
{
"interview_id":1,
"created_at":"2023/06/30",
"question_and_answer":[
{
"question":"自我介紹",
"answer":"你好你好",
"speech_rate":40
},
{
"question":"為何選擇我們公司",
"answer":"挖阿災"
"speech_rate":40
},...
]
"improved":["常常沒有直視前方",...]
},...
```
- status code 401
```json
{
"message": "權限不足",
}
```
3. 新增面試紀錄
- path:`/api/interview_record`
- method:POST
- request
- header
```json
{
"Authorization": "bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
}
```
- body
```json
{
"question_and_answer":[
{
"question":"自我介紹",
"answer":"你好你好",
"speech_rate":40
},
{
"question":"為何選擇我們公司",
"answer":"挖阿災"
"speech_rate":40
},...
]
"improved":["常常沒有直視前方",...]
},...
```
- response
- status code 200
```json
"message": "新增成功",
```
- status code 401
```json
{
"message": "資料有誤",
}
```
- status code 401
```json
{
"message": "權限不足",
}
```
### Discussions
1. 發布討論
- path:`/api/discussion`
- method:POST
- request
- header
```json
{
"Authorization": "bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
}
```
- body
```json
{
"title": "面試都穿啥",
"content":"把拉把拉Dfdgfdgdfgdfg",
"tags":["面試穿搭",...]
}
```
- response
- status code 200
```json
{
"message": "新增成功"
}
```
- status code 401
```json
{
"message": "資料有誤",
}
```
- status code 401
```json
{
"message": "權限不足",
}
```
2. 查看全部的討論
- path:`/api/discussion`
- method:GET
- request
- response
- status code 200
```json
[
{
"discussion_id":1,
"poster":"Jane",
"posting_time":"2020-09-07T05:31:09.000000Z",
"title": "面試都穿啥",
"content":"把拉把拉Dfdgfdgdfgdfg",
"favorites":20,
"comments":20,
"tags":["面試穿搭",...]
},
{
"discussion_id":2,
"poster":"Jane",
"posting_time":"2020-09-07T05:31:09.000000Z",
"title": "面試都穿啥",
"content":"把拉把拉Dfdgfdgdfgdfg",
"favorites":20,
"comments":20,
"tags":["面試穿搭",...]
},...
]
```
> 3. 查看特定篇討論`
- path:`/api/discussion/{discussion}`
- method:GET
- request
- response
- status code 200
```json
{
"discussion_id":1,
"poster":"Jane",
"classification":"閒聊",
"posting_time":"2020-09-07T05:31:09.000000Z",
"title": "面試都穿啥",
"content":"把拉把拉Dfdgfdgdfgdfg",
"favorites":20,
"comments":20,
"tags":["面試穿搭",...]
}
```
4. 查看自己的討論
- path:`/api/discussion/user`
- method:GET
- request
- header
```json
{
"Authorization": "bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
}
```
- response
- status code 200
```json
[
{
"discussion_id":1,
"posting_time":"2020-09-07T05:31:09.000000Z",
"title": "面試都穿啥",
"description":"把拉把拉Dfdgfdgdfgdfg",
"favorites":20,
"comments":20,
"tags":["面試穿搭",...]
},
{
"discussion_id":2,
"posting_time":"2020-09-07T05:31:09.000000Z",
"title": "面試都穿啥",
"description":"把拉把拉Dfdgfdgdfgdfg",
"favorites":20,
"comments":20,
"tags":["面試穿搭",...]
},...
]
```
- status code 401
```json
{
"message": "權限不足",
}
```
5. 編輯討論
- path:`/api/discussion/{discussion}`
- method:PATCH
- request
- header
```json
{
"Authorization": "bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
}
```
- body
```json
{
"title": "面試都穿啥",
"description":"把拉把拉Dfdgfdgdfgdfg",
"tags":["面試穿搭",...]
}
```
- response
- status code 200
```json
{
"message": "編輯成功",
}
```
- status code 400
```json
{
"message": "資料有誤",
}
```
- status code 401
```json
{
"message": "權限不足",
}
```
6. 刪除討論
- path:`/api/discussion/{discussion}`
- method:DELETE
- request
- header
```json
{
"Authorization": "bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
}
```
- response
- status code 200
```json
{
"message": "刪除成功"
}
```
- status code 401
```json
{
"message": "權限不足",
}
```
### Comments
1. 查看留言
- path:`/api/discussion/{discussion}/comment`
- method:GET
- request
- header
```json
{
"Authorization": "bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
}
```
- response
- status code 200
```json
[
{
"id": 1,
"comment": "ㄚㄚㄚㄚㄚ",
"created_at": "2023-08-07T05:57:03.000000Z",
"updated_at": "2023-08-07T05:57:03.000000Z",
"poster_name": "RJ",
"poster_sex": null
},
{
"id": 2,
"comment": "AAAAAAAAAAAA",
"created_at": "2023-08-07T06:10:20.000000Z",
"updated_at": "2023-08-07T06:10:20.000000Z",
"poster_name": "RJ",
"poster_sex": null
},...
]
```
2. 新增留言
- path:`/api/discussion/{discussion}/comment`
- method:POST
- request
- header
```json
{
"Authorization": "bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
}
```
- body
```json
{
"comment":"ㄚㄚㄚㄚㄚ"
}
```
- response
- status code 200
```json
{
"message": "新增成功"
}
```
- status code 401
```json
{
"message": "資料有誤",
}
```
```
3. 編輯留言
- path:`/api/comment/{comment}`
- method:PATCH
- request
- header
```json
{
"Authorization": "bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
}
```
- body
```json
{
"comment":"ㄚㄚㄚㄚㄚ"
}
```
- response
- status code 200
```json
{
"message": "編輯成功"
}
```
- status code 422
```json
{
"message": "資料有誤",
}
```
- status code 403
```json
{
"message": "權限不足",
}
```
4. 刪除留言*
- path:`/api/comment/{comment}`
- method:DELETE
- request
- header
```json
{
"Authorization": "bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
}
```
- response
- status code 200
```json
{
"message": "刪除成功"
}
```
- status code 403
```json
{
"message": "權限不足",
}
```
### Experiences
1. 發布面試分享
- path:`/api/experience`
- method:POST
- request
- header
```json
{
"Authorization": "bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
}
```
- body
```json
{
"company": "鼎新",
"position": "開發工程師",
"date": "2023/06/30",
"description": "巴拉巴拉xxxxx",
"result": "已錄取",
"difficulty": 1~5,
"questions": [
{
"question": "為何選擇我們公司",
"answer": "我喜歡",
},
{
"question": "希望待遇?",
"answer": "錢多事少",
},
{
"question": "預期工資",
"answer": null,
}
],
}
```
- response
- status code 200
```json
{
"message": "新增成功",
}
```
- status code 400
```json
{
"message": "資料有誤",
}
```
- status code 401
```json
{
"message": "權限不足",
}
```
2. 查看全部的面試分享
- path:`/api/experience`
- method:GET
- request
- response
- status code 200
```json
[
{
"experience_id":1,
"update_at":"2020-09-07T05:31:09.000000Z"
"company": "鼎新",
"position":"開發工程師",
"date":"2023/06/30",
"result":"已錄取"|"未錄取"|"等待中",
"difficulty":"簡單"|"中等"|"困難",
"favorites":20,
"comments":20,
},...
]
```
3. 查看特定篇面試分享
- path:`/api/experience/{experience}`
- method:GET
- request
- response
- status code 200
```json
{
"experience_id":1,
"author_id":1,
"update_at":"2020-09-07T05:31:09.000000Z"
"company": "鼎新",
"position":"開發工程師",
"date":"2023/06/30",
"description":"巴拉巴拉xxxxx",
"result":"已錄取"|"未錄取"|"等待中",
"difficulty":"簡單"|"中等"|"困難",
"evaluation":5|4|3|2|1,
"question":["為何選擇我們公司","希望待遇?"],
"favorites":20,
"comments":20,
}
```
4. 查看自己的面試分享
- path:`/api/experience/user`
- method:GET
- request
- header
```json
{
"Authorization": "bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
}
```
- response
- status code 200
```json
[
{
"experience_id":1,
"update_at":"2020-09-07T05:31:09.000000Z"
"company": "鼎新",
"position":"開發工程師",
"date":"2023/06/30",
"description":"巴拉巴拉xxxxx",
"result":"已錄取"|"未錄取"|"等待中",
"difficulty":"簡單"|"中等"|"困難",
"evaluation":5|4|3|2|1,
"question":["為何選擇我們公司","希望待遇?"],
"favorites":20,
"comments":20,
},...
]
```
- status code 401
```json
{
"message": "權限不足",
}
```
5. 編輯面試分享
- path:`/api/experience/{experience}`
- method:PATCH
- request
- header
```json
{
"Authorization": "bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
}
```
- body
```json
{
"company": "鼎新",
"position": "開發工程師",
"date": "2023/06/30",
"description": "巴拉巴拉xxxxx",
"result": "已錄取",
"difficulty": 1~5,
"questions": [
{
"question": "為何選擇我們公司",
"answer": "我喜歡",
},
{
"question": "希望待遇?",
"answer": "錢多事少",
},
{
"question": "預期工資",
"answer": null,
}
],
}
```
- response
- status code 200
```json
{
"message": "編輯成功",
}
```
- status code 400
```json
{
"message": "資料有誤",
}
```
- status code 401
```json
{
"message": "權限不足",
}
```
6. 刪除面試分享
- path:`/api/experience/{experience}`
- method:DELETE
- request
- header
```json
{
"Authorization": "bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
}
```
- response
- status code 200
```json
{
"message": "刪除成功",
}
```
- status code 401
```json
{
"message": "權限不足",
}
```
### Favorites
1. 新增收藏
- path:`/api/{type}/{id}/favorite`
- method:GET
- request
- header
```json
{
"Authorization": "bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
}
```
- response
- status code 200
```json
{
"message": "新增成功",
}
```
- status code 401
```json
{
"message": "權限不足",
}
```
3. 查看收藏
- path:`/api/favorite`
- method:GET
- request
- header
```json
{
"Authorization": "bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
}
```
- response
- status code 200
```json
{
"discussion": [
{
"discussions_id":1,
"title": "面試都穿啥",
"content":"把拉把拉Dfdgfdgdfgdfg",
"favorites":20,
"comments":20,
"tags":["面試穿搭",...]
},...
],
"experience": [
{
"experience_id":1,
"update_at":"2020-09-07T05:31:09.000000Z"
"company": "鼎新",
"position":"開發工程師",
"interview_date":"2023/06/30",
"interview_result":"已錄取"|"未錄取"|"等待中",
"interview_difficulty":"簡單"|"中等"|"困難",
"interview_evaluation":5|4|3|2|1,
"favorites":20,
"comments":20,
},...
]
}
```
- status code 401
```json
{
"message": "權限不足",
}
```
5. 取消收藏
- path:`/api/{type}/{id}/favorite`
- method:DELETE
- request
- header
```json
{
"Authorization": "bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
}
```
- response
- status code 200
```json
{
"message": "取消成功",
}
```
- status code 401
```json
{
"message": "權限不足",
}
```
## Questions
1. ...
## Issue
1. 題庫因為不會與其他資料表關聯,並且只有Python會用到,是否用較簡單的格式,例如Json來存,讓Python直接存取。
2. 如何根據職缺判斷出題。
## fix
1. 個人資訊補求職狀態、工作年資、最高學歷。
2. 履歷補作品集、自傳