REST 원리를 따른 api를 RESTful api라 한다.
간단한 REST 규칙
1. METHOD
1) get : 조회시 사용
2) post : 리소스 등록시 사용
3) put : 리소스 교체
4) patch : 리소스 수정
5) delete : 리소스 삭제
2. URL Design
1) 리소스는 되도록 명사를 사용한다
2) '/'로 계층 관계를 나타내고, 마지막에 /은 제거한다
3) '_'을 사용하지 않고 '-'을 사용한다
4) 소문자를 사용한다
5) 파일 확장자는 헤더로 표시한다
6) 리소스 관계는 '/리소스/리소스 ID/관계가 있는 리소스'로 설계한다
3. HTTP Status
-200(OK, 성공) : 정상적으로 데이터를 응답받은 경우 (GET, PUT)
-201(Created, 생성) : 스토리지에 리소스를 생성하는 경우 (POST, PUT 리소스 생성)
-204(No Content, 콘텐츠 없음) : 정상적으로 처리했으나 body에 표시할 데이터가 없는 경우 (PATCH, DELETE 요청 성공)
-302(Found, 임시 이동) : 원하는 리소스가 이동되어 리다이렉트시키는 경우
-304(Not Modified, 수정되지 않음) : 캐싱 처리하는 경우
-400(Bad Request, 잘못된 요청) : 클라이언트가 값을 잘못보낸 경우
-401(Unauthorized, 권한 없음) : 인증하지 않은 상태에서 인증을 해야 사용할 수 있는 API를 요청한 경우
-402(Payment Required, 결재 필요) : 결재를 해야 사용할 수 있는 API를 요청한 경우
-403(Forbidden, 금지됨) : 권한이 없는 리소스에 접근한 경우
-404(Not Found, 찾을 수 없음) : 리소스가 없을 때
-409(Conflict, 충돌) : 리소스 충돌, 예를 들어 유니크한 리소스를 등록할 때 이미 존재하는 경우
-422(Unprocessable Entity, 처리할 수 없는 엔티티) : 요청이 제대로 구성되었지만 비즈니스 오류로 인해 처리할 수 없는 경우, 409보다 조금 더 범용적인 의미로 사용
-500(Internal Server Error, 내부 서버 오류) : 서버에서 발생하는 오류
-503(Service Unavailable, 서비스를 사용할 수 없음) : 주로 점검 알림
-504(Gateway Timeout, 게이트웨이 시간초과)
*기억 안나면 이 글을 다시 찾아보자
이상입니다
'개발 > 개발의 ㄱ' 카테고리의 다른 글
[Js] 유사배열객체 (0) | 2023.06.23 |
---|---|
[Js] 순수함수란 (0) | 2023.06.23 |
[Js] 함수형 프로그래밍 vs 객체지향 프로그래밍 (0) | 2023.06.23 |
[AWS] auto-scaling 구현 정리 (0) | 2023.01.18 |
[AWS] an instance was launched in response to an unhealthy instance needing to be replaced (0) | 2023.01.12 |