MIC-TEAM/miccha-design2

Fix API request/response structure for Phase 1

Closed this issue · 7 comments

Motivation

#1 에서 API 경로를 정했다.
API 에 대해서, 어떤 구조로 요청을 보내고, 응답을 받을 것인지 정해야 한다.

/api/home

Request

GET

Query Parameters

Key Value
page 페이지 번호

Headers

Key Value
Authorization accessToken

Body

N/A

Response

Headers

N/A

Body

[
    {
        "theme": "themeName",
        "movies": [
            {
                "id": movieId,
                "title": "title",
                "thumbnail": "thumbnailUrl",
                "description": "description",
                "rating": "rating",
                "duration": durationInSec,
                "year": 2010,
                "country": "한국"
            },
            ...
        ]
    },
    ...
]

/api/session

Request

Query Parameters

N/A

Headers

N/A

Body

{
    "email": "email",
    "password": "password"
}

Response

Headers

Key Value
Set-Cookie refreshToken

Body

{
    "accessToke": "accessTokeValue"
}

References

/api/users

Request

POST

Query Parameters

N/A

Headers

N/A

Body

{
    "name": "name",
    "email": "email",
    "password": "password"
}

Response

Headers

N/A

Body

{
    "errorCode": errorCode
}

/api/password/retrieve

Request

POST

Query Parameters

N/A

Headers

N/A

Body

{
    "email": "email"
}

Response

Headers

N/A

Body

{
    "errorCode": errorCode
}

에러 코드

에러 코드 의미
0 성공
1 알 수 없는 오류
2 요청에 token 가 없음
3 요청에 password 가 없음
4 요청에 email 이 없음
5 email 이 올바르지 않음
6 password 가 올바르지 않음
7 이미 존재하는 email 임
8 존재하지 않는 이메일임
9 존재하지 않는 유저임

/api/password

Request

POST

Query Parameters

N/A

Headers

N/A

Body

{
    "token": "tokenValue",
    "password": "password"
}

Response

Headers

N/A

Body

{
    "errorCode": errorCode
}

/api/renew

POST

Request

Query Parameters

N/A

Headers

Key Value
Cookie refreshToken

Body

N/A

Response

Headers

Body

{
    "accessToken": "accessTokeValue"
}