[CS] REST? RESTful? REST API?

에딕·2021년 4월 25일
2

CS

목록 보기
1/8
post-thumbnail

웹을 만들어보면서 REST API를 만들어 본 적이 있다.
어렴풋이만 알고 넘어갔던 REST API를 제대로 짚고 넘어가보자.
일단 REST API를 설명하기에 앞서 REST를 알아보자.


📌 REST란?

  • Representational State Transfer 의 약자로 자원을 이름으로 구분해 해당 자원의 상태를 주고 받는 모든 것을 의미한다.
    웹에 존재하는 모든 자원들에 고유한 URI를 부여하여 활용하는 것으로, 자원을 정의하고 주소를 지정하는 방법론(아키텍쳐 스타일)을 의미

  • URI를 통해 자원을 정의하고 주소를 지정하고 HTTP Method(GET, POST,PUT, DELETE 등)를 이용하여 자원을 사용하는 것이다.

    예시 ("영화"는 자원)
    GET : www.moviegg.com/movies : 영화를 전부 조회
    GET : www.moviegg.com/movies/id : id인 영화를 조회
    POST : www.moviegg.com/movies/ : 영화를 생성
    PUT : www.moviegg.com/movies/ : 영화를 수정
    DELETE : www.moviegg.com/movies/ : 영화를 삭제


📌 RESTful하다가 무슨말이야?

RESTful 하다 라는 말을 종종 사용하거나 듣게 되는데 이는 REST하게 만드는 일종의 가이드라인과 같은 말이다.
RESTful은 비공식적인 의견들을 제시한 것들로 명확한 정의는 없지만 정확한 목적을 갖고있다.
바로 이해하기 쉽고 사용하기 쉬운 REST API를 만드는 것이다.

아래는 대략적인 RESTful API의 설계 가이드이다.

RESTful API 설계 가이드

  • 마지막에 / 를 포함하지 않는다
    • www.moviegg.com/movies   (O)
    • www.moviegg.com/movies/   (X)

  • 언더바(_) 대신 대시(-)를 사용
    • www.moviegg.com/movies-save   (O)
    • www.moviegg.com/movies_save   (X)

  • 소문자를 사용
    • www.moviegg.com/movies-save   (O)
    • www.moviegg.com/moviesSave   (X)

  • 행위(HTTP Method)는 URL에 포함하지 않는다
    • DELETE www.moviegg.com/movies/1   (O)
    • POST www.moviegg.com/movies/1/delete  (X)


📌 REST API?

사실 위의 설명을 읽고 난 후면 REST API를 따로 설명을 할 필요가 없다.
REST API란 REST를 기반으로 만든 API이다.


✨ References

profile
코딩💻 고양이😺

1개의 댓글

comment-user-thumbnail
2021년 8월 24일

계란님 서로이웃해서 소통해요^^

답글 달기