What is RESTful

Hoon·2021년 8월 4일
0

[server]

목록 보기
1/1
post-thumbnail

서버를 공부하며 헷갈렸지만 그게 그거지 하며 넘어갔던 개념인 RESTful API에 대해서 자세히 알아보는 시간을 가져보겠습니다 :)

서버에서 가장 중요하지만 항상 놓쳤던 개념이 바로 RESTful API 였는데,
이번 새로운 프로젝트를 진행하며 제대로 짚고 넘어가면 좋겠다는 생각이 들어서 공부 정리 겸사 겸사 블로그에 글을 올리게 되었습니다.

👀 RESTful API

REST는 REpresentational State Transfer의 약자입니다.

시간이 흐르며 등장한 다양한 클라이언트나 어플리케이션이 분리되거나 통합되는 여러한 이유에서 발생하는 복잡도를 줄이고자 REST 라는 방법론을 제시하게 됐습니다.

위키백과에서는 REST를 아래와 같이 설명하고 있습니다.

"a way of providing interoperability between computer systems on the internet"

"인터넷 상에서 컴퓨터 시스템간의 상호운용성을 제공하는 방식 중 하나"

따라서 RESTful API는 REST한 컨벤션들을 지키며 API를 제공하는 것이라고 할 수 있습니다.

정리하면 협업 간의 Coding Convention을 정하는 것처럼 API를 제공하는 것도 하나의 가이드를 지키며 설계하자고 약속하는 것입니다.


✏️ RESTful API 의 핵심 원칙

그 유명한 RESTful API의 URI 설계 원칙은 아래와 같습니다.

URI

  • 리소스를 중심으로 디자인된다. 이 때, 리소스는 클라이언트가 액세스할 수 있는 모든 종류의 개체, 데이터, 서비스를 포함한다.
  • 각 리소스는 URI에 의해 고유하게 식별된다.

네이밍

  • 동사나 형용사보다 명사의 형태를 띄는 이름을 지향한다.
  • 단수형보다 복수형을 사용하는 것이 범용성 측면에서 좋다.

예시

아래 이미지를 보면 리소스를 중심으로 HTTP 메서드(GET, POST, PUT, PATCH, DELTE)를 사용해 디자인하고 있습니다.

query vs params

  • 리소스를 직접 식별해야 할 때는 path variable을 사용합니다.
  • 정렬이나 필터링이 필요할 때는 query parameter를 사용합니다.





이번 프로젝트에서 제대로 RESTful한 API를 작성해서 얇팍한 서버 지식을 더욱더 키워야겠다..는 생각..

- devkwonsehoon

profile
Being Back-end Developer

0개의 댓글