Education Credential Update
유저 프로필 - 학력 수정하기
Client에서 보낸 데이터의 credential_pk에 해당하는 특정 학력 정보를 수정합니다. 프로필 학력 정보: 학교, 전공, 학위, 졸업년도 "학교"와 "전공"은, "Topic(주제)" 중의 하나에 해당합니다. 따라서, "학교", "전공"을 선택할 때는, 드롭다운으로 "Topic(주제)" 리스트를 가져와서 선택할 수 있도록 해야 합니다. 만약에 회사가 기존의 Topic(주제) 중에 존재하지 않는다면, 이를 생성할 수 있어야 합니다.
URL
/user/<pk>/profile/edu-credentials/<credential_pk>
Method
PUT
PATCH
Header
Key | Value |
---|---|
Authorization | Token(로그인 성공했을 때 받은 Token key값) |
Data Params
Data Params
Key | Description | Type | Require |
---|---|---|---|
school_id | Topic(주제)의 pk값 | Integer | False |
concentration_id | Topic(주제)의 pk값 | Integer | False |
degree_type | 학위 (4가지 String중 하나로 선택하여 요청 보내기: 'HS'(고등학교), 'BA'(학사), 'MA'(석사), 'PHD'(박사)) | String | False |
graduation_year | 졸업년도 (1900~현재년도) | Integer | False |
위의 4가지 Data 각각은 Require=False이나, school_id나 concentration_id 둘 중 적어도 하나의 데이터를 Client에서 보내주지 않으면 에러를 발생시킨다.
Success Response
201 Created
HTTP Status Code
201
Content
{
# 수정된 Education Credential의 pk값
"pk": 29,
# 생성된 Education Credential의 detail URL - 클라이언트에서 다음 요청을 보낼 곳을 알기 쉽도록 url 정보를 돌려줌
"url": "http://localhost:8000/user/3/profile/edu-credentials/29/",
# 학교(주제) 정보
"school": {
"pk": 2,
"name": "서울대학교",
# 주제(학교)의 이미지 주소
"image": "http://localhost:8000/media/profile/thumbnail_img_200/nanum123%40gmail.com/tree_moRGpdQ.png"
},
# 전공(주제) 정보
"concentration": {
"pk": 3,
"name": "컴퓨터공학과",
"image": null
},
"degree_type": "BA",
"graduation_year": 2010,
"type": "edu"
}
Error Response
Not Found Error
HTTP Status Code
404
Content
# 존재하지 않는 유저의 pk를 URI에 담아서 보낸 경우
{
"detail": "찾을 수 없습니다."
}
Bad Request Error
HTTP Status Code
400
Content
# degree_type에 4가지 String('HS'(고등학교), 'BA'(학사), 'MA'(석사), 'PHD'(박사))을 제외한 다른 String이 온 경우
{
"degree_type": [
"\"BAs\"이 유효하지 않은 선택(choice)입니다."
]
}
Bad Request Error
HTTP Status Code
400
Content
# school_id, concentration_id 모두 누락된 상태로 요청을 보낸 경우
{
"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)이 없습니다."
}