[Network] - REST API란?

army246·2022년 8월 18일
0

Network

목록 보기
1/1

REST란?

Representational State Transfer 의 약자로 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것을 의미한다.

  • HTTP URI를 통해서 자원을 명시
  • HTTP Method(GET, POST, PUT, DELETE)
  • 해당 자원(URI)에 대한 CRUD Operation을 적용하는 것

< REST에서 CRUD Operation 동작 >

  • CREATE : POST => 데이터 생성
  • Read : GET => 데이터 조회
  • Update : PUT => 데이터 수정
  • Delete : DELETE => 데이터 삭제

REST 특징

  • Server-Client(서버-클라이언트 구조)

  • Stateless(무상태)

  • Cacheable(캐시 처리 가능)

  • Layered System(계층화)

  • Uniform Interface(인터페이스 일관성)

REST API란?

REST를 기반으로 만들어진 API를 의미한다.

REST API 규칙

  1. URL은 동사보다는 명사를 사용.

    http://restapistudy.com/studying = > Bad
    http://restapistudy.com/study => Good

  2. 대문자 보다는 소문자를 사용.

    http://users/{userId}/PROFILE = > Bad
    http://users/{userId}/profile = > Good

  3. 마지막에 슬래시(/)를 포함하지 않는다.

    http://restapistudy.com/study/ = > Bad
    http://restapistudy.com/study=> Good

  4. 언더바(_) 대신 하이픈(-)을 사용.

    http://restapistudy.com/study_blog = > Bad
    http://restapistudy.com/study-blog => Good

  5. 파일확장자는 URI에 포함하지 않는다.

    http://restapistudy.com/study/photo.jpg => Bad
    http://restapistudy.com/study/photo => good

  6. 행위를 포함하지 않는다.

    http://restapistudy.com/study/delete-post/2 = > Bad
    http://restapistudy.com/study/post/2 => Good

  7. 케밥 케이스(Kebab-case) 사용.

  8. Path Variable에는 카멜 케이스(camelCase) 사용.

    http://restapistudy.com/study/users/{UserId} => Bad
    http://restapistudy.com/study/users/{userId} => Good

  9. Collection에서는 단수가 아닌 복수를 사용.

    http://restapistudy.com/study/user => Bad
    http://restapistudy.com/study/Users => Good

참고
블로그

profile
천천히 꾸준히

0개의 댓글