Today I Leanred | 8월 5일 RESTful API

juri·2021년 8월 8일
0

TIL

목록 보기
25/25
post-thumbnail

REST?

REST(Representational State Transfer)란 웹에 존재하는 모든 자원(예 : 이미지, 동영상 등)에 고유한 URI를 부여하여 자원에 대한 주소를 지정하는 규칙으로 현재 가장 널리 사용되고 있다.
RESTful API는 REST 특징을 지키면서 API를 제공한다는 의미이다. 각 엔드포인트는 처리하는 리소스를 표현하는 고유의 URI 주소를 갖고 있으며, 해당 리소스에 행할 수 있는 행위를 표현하는 HTTP메소드를 처리할 수 있게 된다.

"프론트엔드에서 백엔드 API를 호출할 url을 어떻게 만들것인가?"

장점

자기 설명력 (self-descriptiveness)
엔드포인트의 구조만 봐도 해당 엔드포인트가 제공하는 리소스와 기능을 파악할 수 있다. API를 구현하다 보면 엔드포인트의 수가 많아지면서 엔드포인트의 역할과 기능을 파악하기 쉽지 않은데 REST방식으로 구현하면 구조가 훨씬 직관적이며 간단해진다.

URL 규칙

  1. 마지막에 /을 포함하지 않는다.
  2. _대신 -을 사용한다.
  3. 소문자를 사용한다.
  4. method는 URL에 포함하지 않는다.
  5. 컨트롤 자원을 의미하는 URL은 예외적으로 동사를 허용한다.

자주 사용되는 HTTP 메소드

1. GET

어떠한 데이터를 서버로부 요청할 때 주로 사용한다. 데이터의 생성이나 수정 그리고 삭제 등의 변경사항 없이 단순히 데이터를 받아 오는 요청은 주로 GET메소드로 요청한다. 해당 HTTP 요청의 바디가 비어 있는 경우가 많다.

2. POST

GET메소드와 함께 가장 자주 사용되는 HTTP 메소드다. 데이터를 생성하거나 수정 및 삭제 요청을 할 때 주로 사용한다.

3. OPTIONS

주로 특정 엔드포인트에서 허용하는 메소드들이 무엇이 있는지 알고자 하는 요청에서 사용한다. 엔드포인트는 허용하는 HTTP 메소드가 지정되도록 되어 있으며, 허용하지 않는 HTTP 메소드의 요청이 들어오면 405 Method Not Allowed 응답을 보낸다.

4. PUT

데이터를 새로 생성할 때 사용하는 메소드다. POST와 중복되는 의미이므로 데이터를 새로 생성하는 HTTP 요청을 보낼 때 굳이 PUT을 사용하지 않고 데이터 생성 및 수정 관련한 요청은 모두 POST로 통일해서 사용하는 시스템이 많아지고 있다.

5. DELETE

데이터 삭제 요청을 보낼 때 사용한다.

6. HEAD

요청에 대한 head의 정보만 응답하며 바디가 없다.

7. PATCH

데이터의 일부만 수정할 때 사용하는 메소드다. PUT은 수정되지 않는 내용도 함께 전송해야하는 반면, PATCH는 변경하는 요청만 전송한다. (PUT은 replace의 개념, PATCH는 modify의 개념)

참고

profile
Make my day !

0개의 댓글