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)이 없습니다."
}

results matching ""

    No results matching ""