API? Rest API? Restful API?

Ahn yi·2022년 10월 2일
1

학습내용

  1. Rest API란? Restful이란?

여기저기서 Rest API를 사용하라고 한다. 그렇다면 Rest API란 무엇인가? 사람마다 확실한 답이 없다고 생각한다. 그래서 내 생각을 정리해보려고 한다.

API란 Client와 Server가 서로 교류를 하는 것, Rest API란 Rest하게 API를 구현한 것, Restful API란 표현보다는 그저 Rest API 설계 규칙 등 표준에 맞게 설계된 Rest API를 'Restful하다' 라고 표현하는 것이라고 생각한다.

여기서 Rest란 Representational State Transfer의 약자이다. 자원에 대한 행위 즉, HTTP method(GET, POST, PUT, DELETE 등)을 어떻게 사용하고, 규칙을 잘 따랐는지가 중요하다고 생각한다. 주로 GET방식은 데이터 조회, POST방식은 데이터 삽입, PUT방식은 데이터 수정, DELETE방식은 데이터 삭제에 사용된다. 그리고 이 method들을 잘 사용하며 URI 규칙을 잘 지키면 그것이 Restful하다고 할 수 있다.

  1. 언더바 대신 하이픈을 사용한다.

    • 언더바를 사용할 경우 폰트에 따라 구분에 있어 혼란이 있을 수 있다.
    • 가독성은 위해 긴 URI의 경우 하이픈으로 구분한다.
    • ex) http://www.example.com/Board-list/
  2. 소문자를 사용한다.

  3. URI의 마지막에는 슬래시를 포함하지 않는다.

    • 마지막 슬래시는 동일한 URI로 취급받지만 다른 리소스로 매핑된다.
      Rest API는 명확해야하므로 마지막 슬래시는 포함하면 안된다.
    • ex) http://www.example.com/board-list
  4. 파일 확장자는 URI에 포함시키지 않는다.

  5. 계층관계는 슬래시로 구분해야한다.

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

    • 행위(GET, POST, PUT, DELETE)는 method를 통해 전달한다.
  7. 주로 명사를 사용하되, 컨트롤 자원의 경우에는 동사를 허용한다.

마지막으로...

Rest API에 대한 지식이 부족한 부분이 있을 수 있고, 잘못 알고 있는 부분이 있을지는 모르지만 결국 Rest API란 사용자에게 편리성을 주기위한 수단 중 하나라고 생각한다. 내가 여러 프로젝트를 진행하면서 사용자 입장에서 불편하다 느끼는 부분을 수정하다 보면 어느샌가 점점 Restful 하게 API를 설계하게 될 것이다.
알고리즘 풀이 Ok!

profile
소통을 잘하고싶은 백엔드 개발자

0개의 댓글