Employment Credential Create
유저 프로필 - 이력 생성하기
Client에서 보낸 데이터의 pk에 해당하는 유저의 프로필 이력 정보를 생성합니다. 프로필 이력 정보: 회사, 직위, 입사년도, 퇴사년도, 현재 재직 여부 "회사"는, "Topic(주제)" 중의 하나에 해당합니다. 따라서, 회사를 선택할 때는, 드롭다운으로 "Topic(주제)" 리스트를 가져와서 선택할 수 있도록 해야 합니다. 만약에 회사가 기존의 Topic(주제) 중에 존재하지 않는다면, 이를 생성할 수 있어야 합니다.
URL
/user/<pk>/profile/empl-credentials/
Method
POST
Header
Key | Value |
---|---|
Authorization | Token(로그인 성공했을 때 받은 Token key값) |
Data Params
Key | Description | Type | Require |
---|---|---|---|
company_id | Topic(주제)의 pk값 | Integer | False |
position | 회사에서의 직위 (50글자 이하) | String | False |
start_year | 입사년도 (1900~현재년도) | Integer | False |
end_year | 퇴사년도 (1900~현재년도) | Integer | False |
working_status | 현재 재직 여부 (true 혹은 false) | Boolean | False |
위의 4가지 Data 각각은 Require=False이나, company_id나 position 둘 중 적어도 하나의 데이터를 Client에서 보내주지 않으면 에러를 발생시킨다.
Success Response
201 Created
HTTP Status Code
201
Content
{
# 생성된 Employment Credential의 pk값
"pk": 1,
# 생성된 Employment Credential의 detail URL - 클라이언트에서 다음 요청을 보낼 곳을 알기 쉽도록 url 정보를 돌려줌
"url": "http://localhost:8000/user/3/profile/empl-credentials/1/",
# 주제(회사)의 정보
"company": {
# 해당 주제의 pk
"pk": 7,
# 주제(회사)이름
"name": "Hyperconnect",
# 주제(회사)의 이미지 주소
"image": "http://localhost:8000/media/profile/thumbnail_img_200/nanum123%40gmail.com/tree_moRGpdQ.png"
},
"position": "Backoffice Developer",
"start_year": 2012,
"end_year": 2013,
"working_status": true,
"type": "empl"
}
Error Response
Not Found Error
HTTP Status Code
404
Content
# 존재하지 않는 유저의 pk를 URI에 담아서 보낸 경우
{
"detail": "찾을 수 없습니다."
}
Bad Request Error
HTTP Status Code
400
Content
# position이 50글자를 초과한 경우
{
"position": [
"이 필드의 글자 수가 50 이하인지 확인하십시오."
]
}
Bad Request Error
HTTP Status Code
400
Content
# 입사년도, 퇴사년도가 1900~현재년도 범위에서 벗어난 경우
{
"start_year": [
"\"2019\"이 유효하지 않은 선택(choice)입니다."
],
"end_year": [
"\"2020\"이 유효하지 않은 선택(choice)입니다."
]
}
Bad Request Error
HTTP Status Code
400
Content
# company, position 모두 누락된 상태로 요청을 보낸 경우
{
"error": [
"회사나 직위 중 적어도 하나의 정보를 입력해주세요."
]
}
Bad Request Error
HTTP Status Code
400
Content
# start_year에 end_year보다 큰 integer 값이 온 경우
{
"error": [
"입사년도가 퇴사년도보다 늦습니다."
]
}
Unauthorized Error
HTTP Status Code
401
Content
# 유저 Token을 헤더에 담지 않고 요청을 보낸 경우
{
"detail": "자격 인증데이터(authentication credentials)가 제공되지 않았습니다."
}
Unauthorized Error
HTTP Status Code
401
Content
# 존재하지 않는 유저 Token을 헤더에 담아 요청을 보낸 경우
{
"detail": "토큰이 유효하지 않습니다."
}
Forbidden Error
HTTP Status Code
403
Content
# 해당 URI의 pk값에 해당하는 유저와, 요청을 보낸 유저가 다른 경우
# 즉, 프로필 주인이 아닌 다른 유저가, 이력을 생성하려 한 경우
{
"detail": "이 작업을 수행할 권한(permission)이 없습니다."
}