최근 Swagger 를 이용해서 RESTfull API 문서를 작성하고 있는게 하나 있는데, 나랑 우리회사 팀원들도 참고할 겸, 그리고 우리집에 계신 개발자 분도 참고하라고 겸사 겸사 해서 테이블로 정리.
인터넷 검색해도 많긴 한데, 조금 읽기 길어서 짧게.
( 정말 간단하게는 프론트에서는 주로 2XX , 4XX 대만 신경써도 거의 대부분 됨 )
Code | Status | Case |
---|---|---|
200 | OK | 클라이언트의 요청을 서버가 정상적으로 처리했다. 정상적으로 응답을 내려준다. |
201 | Created | 클라이언트의 요청을 서버가 정상적으로 처리했고 새로운 리소스가 생겼다. 새로운 아이템이 생성되었다. |
202 | Accepted | 비동기 작업에 대한 요청시. 생성하는데 시간이 걸려서 응답을 해주긴 했지만, 아직 서버에서는 작업중이다. |
204 | No Content | 정상적으로 요청하였으나, 컨텐츠가 없는경우 주의!)응답 데이터가 없다! 예 ) 삭제 요청을 했을 경우에 리턴. |
301 | Moved Permanently | 영구 이동 해당 되는 페이지는 당분간 임시로 이동되었다. 언젠가는 원래대로 돌아옴 ( 대개 웹브라우저에서 자동 처리됨 ) |
302 | Found | 임시 이동 북마크,코드등을 새로운 페이지로 이동시켜야 한다. ( 대개 웹브라우저에서 자동 처리됨 ) |
307 | Temporary Redirect | 임시 이동 302와 동일하나 Method가 유지된다. 302 는 Get 으로 이동됨 |
308 | Permanent Redirect | 영구 이동 301과 동일하나 Method가 유지된다. 301 은 Get 으로 이동됨 |
400 | Bad Request | 잘못된 요청인경우. 필요한 값을 입력하지 않았다. 필요한 Param 혹은 body 값이 없다. 범위에 맞지 않는 요청을 하였다. |
401 | Unauthorized | 로그인이 필요한 리소스에 로그인을 하지 않았다. → 로그인을 해야 한다. |
403 | Forbidden | 로그인은 되어 있으나, 요청에 대한 권한이 없는경우. 예 ) 다른 회사의 리소스를 삭제,추가하려고 시도하거나, 일반 팀원이 팀장의 권한을 행사하려고 하는 경우. |
404 | Not Found | 해당 리소스가 없다. 존재하지 않는 아이템에 엑세스 요청. 단, 경우에 따라 권한이 없어서 리소스가 없다고 표시될 수 있다. ( 보안상의 이유 ) |
405 | Method Not Allowed | 해당 요청에 지원되지 않는 Method 의 경우. 예 ) 해당 요청은 GET 밖에 지원하지 않는데, POST로 요청을 했을 경우 |
409 | Conflict | 이미 존재하는 리소스가 있어서 충돌할 경우. |
429 | Too Many Requests | 짧은 시간동안 너무 많은 요청을 하였다. |
500 | Internal Server Error | 서버 오류로 발생한 에러. 만나서는 안되는 에러. 즉시 서버 개발자에게 알려야 함. |
502 | Bad Gateway | 일반적으로 NginX 의 설정을 실수를 했다. 서버 개발자에게 알려야 함. 이미 작업중일 수 있다. |
503 | Service Unavailable | 일반적으로 로드밸런서 이슈. 그러나,백엔드 서버가 (과부하 혹은 오류로) 죽은 경우일수도 있음. 서버 개발자에게 알려야 함. |