Rest API란?

Mincho·2023년 1월 6일
0

cs지식

목록 보기
4/10
post-thumbnail

REST와 API란?

  ◾ Rest란 (Respresentational State Transfer)의 약자로 자원의 이름으로 구분하여 해당 자원의 상태를 주고 받는 모든 것을 의미한다. 일반적으로 json혹은 xml을 통해 데이터를 주고 받는 것이 일반적이다. 기본적으로 웹의 기존 기술과 HTTP 프로토콜을 그대로 화용하기 때문에 웹의 장점을 최대한 이용할 수 있다. 네트워크상의 ClientServer 사이의 통신 방식 중 하나이다.

API란 (Application Programming Interface)의 약자이다. 프로그램들과 db그리고 기능들의 상호 통신 방법을 규정하고 도와주는 매개체![]
이다.
db에 정보가 저장되고 모든 사람들이 db에 접근하지 못하게 제어한다. 또한 모든 접속을 표준화하여 누구나 동일한 엑세스를 얻을 수 있다.



그럼 REST API는?

  간단하게 말하면 REST를 기반으로 서비스 API를 구현한 것이다. 누구나 사용할 수 있는 공개된 Open API는 대부분 REST API를 제공하고 있다.


1. URI는 자원의 정보를 표시

  ◽ resource는 동사보다 명사, 대문자보다 소문자 사용
  ◽ resource의 도큐먼트 이름으로는 단수 명사를 사용해야 한다.
  ◽ resource의 컬렉션 이름으로는 복수 명사를 사용해야 한다.
  ◽ resource의 스토어 이름으로는 복수 명사를 사용해야 한다.


2. 자원에 대한 행위는 HTTP Method(GET, PUT, POST, DELETE)로 표현

Create, Read, Update, Delete 의 앞 알파벳을 따서 CRUD라 한다. CRUD같은 경우 db 어플리케이션에서 수행할 수 있는 기본작업이다. 반면 REST APIGET, POST등과 같은 자체 데이터 조작 방법이 있는 HTTP 프로토콜을 통해 소통한다. 서로 비슷하지만 똑같은 것은 아니다.

   ◽ PUT은 해당 리소스가 아직 존재하지 않더라도 리소스를 대체하지만 POST는 새 리소스를 추가한다. 둘 다 새 리소스를 만드는데 사용할 수 있지만 PUT은 주로 기존 리소스를 업데이트한다.
  ◽ PATCH는 리소스의 일부를 업데이트 하는 데 사용되지만 PUT은 전체 리소스를 교체하여 업데이트 하는데만 사용된다.
  ◽ POST는 리소스 고유의 특정 의미에 따라 처리되어 포괄적인 기능을 한다.

3. URI표현

   ◽ 슬래시 구분자(/)는 계층 관계를 나타내는데 사용한다.
   ◽ URI마지막 문자로 슬래시를 포함하지 않는다.

	http://restapi.menu/pizza/hot/ (x)
    	http://restapi.menu/pizza/hot (o)

   ◽ 하이픈(-)은 URI가독성을 높이는데 사용하고 밑줄(_)은 사용하지 않는다.
   ◽ 되도록 소문자가 적합하다.

3.RESTful API

RESTful

   ◽ RESTful은 일반적으로 REST라는 아키텍쳐를 구현하는 웹 서비스를 나타내기 위해 사용되는 용어다.
   ◽ REST API를 제공하는 웹 서비스를 RESTful하다고 할 수 있다. 공식적으로 발표한 것은 아니지만 REST원리를 따르는 시스템이라고 이야기 된다.

RESTful하지 못한 경우

❌ CRUD기능을 모두 POST로만 처리하는 API
❌ route에 resource, id외의 정보가 들어가는 경우



profile
사진찍는 개발자.

0개의 댓글