RESTful API란?

한신웅·2022년 1월 30일
0
post-thumbnail

RESTful API란?


API 시스템을 구현하기 위한 아키텍처 중에 가장 널리 사용되는 형식
ex) Graphql, SOAP, GRPC, REST 등등..

  • RESTful API는 다른 형식에 상대적으로 진입장벽과 학습비용이 낮다
  • 또한 훨씬 적은양의 데이터로 주고 받을 수 있어서 효율적이다.

RESTful API의 장단점

  • 장점 : RESTful API는 그 자체만으로도 API의 목적이 쉽게 이해 된다.
  • 단점 : 표준규약이 없어, 비효율적이거나 비생산적인 패턴 즉, 안티패턴으로 작성되는 경우가 흔하다.

RESTful API의 설계 규칙

URI 정보를 명확하게 표현해야 한다.

  • resource는 명사를 사용한다.
  • 주로 단수보다는 복수를 많이 사용한다.
    ex) GET/user/1 -> get/users/1

resource에 대한 행위를 HTTP Method로 표현한다.

  • HTTP Method : GET, POST, PUT, DELETE
  • URI에 HTTP Method가 포함되어서는 안된다.
    ex) GET delete/user/1 -> DELETE/users/1
  • URI에 동사가 포함되어서는 안된다.
    ex) GET/user/show/1 -> GET/users/1
    ex) POST insert/user/2 -> POST/users/2

resource 사이에 연관 관계가 있는 경우

  • /리소스/고유ID/관계 있는 리소스
    ex) GET/users/{user_id}/profile
  • tip) 큰 집합에서 작은 집합으로 내려가듯이 작성

파일의 경우 payload의 포맷을 나타내기 위한 파일 확장자를 URI에 포함시키지 않는다.

ex) GET user/1/profile-photo.jpg ❌
ex) GET user/1/profile-photo

그 외

  • URI는 / 구분자를 사용하여 자원의 계층 관계를 나타내는데 사용
  • URI 마지막 문자로 /를 포함하지 않는다
    ex) GET users/portfolios/ ❌
  • 불가피하게 URI가 길어지는 경우 -를 사용하여 가독성을 높인다
  • _는 사용하지 않는다
  • URI 경로에는 대문자 사용을 피하도록 규정하고 있다.
profile
genius🚀

0개의 댓글