REST API란

0

REST API란?

이전에 개발을 할때는 REST API원칙을 지키지 않으며 개발을 해왔다.
사실 REST API가 뭔지도 잘 알지 못하고 그냥 서버의 url중 하나라고만 생각하고 있었다.
이번 프로젝트에서는 REST API원칙을 최대한 지켜가며 개발을 하고 있다.

먼저 API란 무엇인가?

API는 Application Programming Interface의 약자로 응용프로그램에서 데이터를 주고 받기 위한 방법을 의미한다.

그럼 REST API란 무엇인가?

REST API란 REST를 기반으로 만들어진 API를 의미한다.

REST Representational State Transfer의 약자로 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 것을 의미한다. 즉

  1. HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고,
  2. HTTP Method(POST, GET, PUT, DELETE, PATCH)를 통해
  3. 해당 자원(URI)에 대한 CRUD Operation을 적용하는 것을 의미한다.

REST API design pattern

  1. 행위를 포함하지 않는다.

    자원에 대한 행위는 HTTP Method로 표현해야한다.

  2. URI는 동사보다는 명사를 사용해야 한다.

    URL은 자원을 표현하는데 중점을 두어야 한다.

  3. 대문자보다는 소문자를 사용하여야 한다

    대소문자에 따라 다른 리소스로 인식하게 되기 때문에 소문자만을 이용해야햔다.

  4. 마지막에 슬래시 (/)를 포함하지 않는다.

    REST API는 분명한 URI를 만들어 통신을 해야 하기 때문에 혼동을 주지 않도록 URI 경로의 마지막에는 슬래시(/)를 사용하지 않는다.

  5. 언더바 대신 하이폰을 사용한다.

    밑줄은 보기 어렵거나 밑줄 때문에 문자가 가려지기도 하기 때문에 하이폰을 이용애야 한다.

  6. 파일확장자는 URI에 포함하지 않는다.

HTTP Method

GET resource를 요청할때 사용
POST 서버에게 resource를 보내면서 생생해달라고 요청할때 사용
PUT 서버에게 resource의 업데이트 하거나 resource가 없다면 새로운 resource를 생성해 달라고 요청할때 사용
PATCH 서버에게 resource의 부분 업데이트를 요청할때 사용
DELETE 서버에게 resource의 삭제를 요청할때 사용

GET으로 서버에게 data를 보낼때는 query나 param을 사용한다.

하지만 body에 담아 데이터를 숨기고 싶을때는 생성요청이 아니더라도 post를 사용한다. ( ex) 로그인 )

profile
https://www.youtube.com/watch?v=__9qLP846JE

0개의 댓글