본문 바로가기

개발/개발의 ㄱ

RESTful api란

반응형

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, 게이트웨이 시간초과)

  *기억 안나면 이 글을 다시 찾아보자

 

 

이상입니다