<aside>

⭐️ 응답 코드 종류는 3가지입니다.

일반 실패 & 에러 응답 / 성공 응답

</aside>

1. 일반 실패 & 에러 응답

// 실패 & 에러
{
	"code" : "0000",
	"message" : ""
}

-- 예) 403 실패
{
  "code": "0403",   
  "message": "해당 리소스에 대한 권한이 없습니다."
}

2. 성공 응답


// 성공
{
   "code" : "0000",
   "data" : { // data의 값은 언제나 Object
       "domain": { // "domain(단수명사)" 값 Object, "domains(복수명사)" 값 배열
          ...
       }
   }
}

{
  "code": "2000",    // 성공 응답 코드
  "data": {          // 실제 데이터 (항상 Object)
    "user": {        // 단수형 - 객체 반환
      "id": 1,
      "name": "John"
    },
    "posts": [       // 복수형 - 배열 반환
      {
        "id": 1,
        "title": "First Post"
      },
      {
        "id": 2,
        "title": "Second Post"
      }
    ]
  }
}


Error Convention

1️⃣ 400_BAD_REQUEST

reason(1)
0 : Invalid request syntax

요청 문법이 올바르지 않거나, 잘못된 형식으로 작성된 경우. | | 1 : Missing required parameter

필수 매개변수가 요청에서 누락된 경우. 클라이언트가 요청하는 작업을 수행하기 위해 필요한 매개변수가 제공되지 않은 경우. URL 파라미터 누락에 대한 에러 | | 2 : Malformed parameter

매개변수 형식이 잘못되었거나, 요청 파라미터 형식이 예상과 다른 경우 | | 3 : Malformed request body

요청 본문 형식이 잘못되었거나, 요청 데이터 형식이 예상과 다른 경우. ex) JSON 형식 요청 데이터가 잘못된 구문으로 작성되었을 때. | | 4 : Invalid Request

서버가 요청을 인지는 했으나, 잘못된 요청이라 판단하여 거부한 경우 | | 5 : Client Error

클라이언트단에서 막았어야 하는 요청에 대한 거부 |

2️⃣ 401_UNAUTHORIZED

reason(1)
0 : Missing or invalid authentication credentials

요청한 리소스에 대한 인증 정보가 없거나 유효하지 않은 경우. ex) 서버가 클라이언트 인증을 요구할 때, 클라이언트가 필요한 인증 정보를 제공하지 않았거나 올바르지 않은 때 | | 1 : Expired or revoked authentication token

인증 토큰이 만료되었거나 취소된 경우. ex) 클라이언트가 사용한 인증 토큰의 유효 기간이 지났거나, 서버에서 해당 토큰을 더 이상 인증할 수 없을 때 | | 2 : Insufficient permissions

클라이언트가 요청한 작업을 수행할 충분한 권한이 없는 경우. ex) 특정 파일을 받으려 하지만, 해당 파일에 대한 읽기 권한이 없을 때. 리소스 접근은 가능하지만 일부 권한 불충분. | | 3 : Tampered or malformed token

서명이 조작되거나 비정상적인 토큰을 사용하여 인증을 요청한 경우. | | 4 : Without onwership

토큰에 대한 소유권이 없다고 판단된 경우. 토큰이 탈취되었을 때 반환되는 응답. |