TIL 48 | RESTful API

dabin *.◟(ˊᗨˋ)◞.*·2021년 9월 29일
0

Node.js

목록 보기
11/11
post-custom-banner

REST

  • REST는 REpresentational State Transfer의 약자다.
  • 웹에 존재하는 모든 자원(resorce, ex. 이미지, 동영상, 데이터)에 고유한 URI를 부여하여 자원에 대한 주소를 지정하고 자원의 상태(정보)를 주고 받는 모든 것을 의미한다.
  • HTTP URI를 통해 자원을 명시하고, HTTP Method(POST, GET, PUT, DELETE)를 통해 CRUD Operation을 적용한다.

RESTful API


REST는 API 시스템을 구현하기 위한 아키텍처 중에 가장 널리 사용되는 형식이며, RESTful API는 REST 특징을 지키면서 API를 제공한다는 의미다.

백엔드에서 중요한 것은 클라이언트가 원하는 자원을 명확하게 파악하는 것이다. 클라이언트는 백엔드에게 정확한 리소스를 요구해야 한다. 이를 위해서는 원활한 소통이 요구되며, RESTful API 형식을 사용한다면 URI를 통해 소통을 원활하게 할 수 있다.

특징

self-descriptiveness하다는 특정이 있어 API의 목적이 쉽게 이해가 된다!!

하지만! RESTful API는 일관적 컨벤션을 통해 이해도를 높이는 것이 주요 목적이기 때문에 성능이 더 중요한 상황에서는 RESTful API를 구현할 필요는 없다. 회사마다 다르다!

설계 규칙

  • 명사를 사용한다. ex) GET /users/1
  • 자원에 대한 행위를 http 메서드로 표현하기 때문에 uri에 method가 포함되면 안된다. ex ) DELETE /users/1
  • resource 사이에 연관 관계가 있는 경우
    ex) /리소스/고유id/관계있는리소스 => GET /users/{user_id)/profile
  • /구분자로 계층 관계를 나타내는데 사용한다.
  • 마지막 문자로 /를 포함하지 않는다.
  • _를 사용하지 않는다.
  • 불가피하게 uri가 길어지는 경우 -를 사용해 가독성을 높인다.
  • 대문자 사용을 피한다.
  • 파일의 경우 확장자(jpg 등)를 URI에 포함시키지 않는다.

    PUT vs PATCH
    PUT은 전체 수정, PATCH는 일부 수정이다. PUT은 보통 필요한 정보가 모두 들어올 때 사용한다.

참고 링크
https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html

profile
모르는것투성이
post-custom-banner

0개의 댓글