REST full API란?

Kuno17·2023년 5월 8일
0

CS공부

목록 보기
5/17
post-thumbnail

REST(Representational State Transfer)

  • 자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미.
  • 즉 자원(Resource)의 표현에 의한 상태전달 의미.
  • 자원 : 문서, 그림, 데이터 등을 의미
  • 표현 : 자원을 표현하기 위한 이름을 의미
  • 상태(정보)전달 : JSON혹은 XML을 통해서 데이터를 주고받는 것이 일반적이며 데이터가 요청되어지는 시점에서 전달한다.
  • REST는 기본적으로 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에 웹의 장점을 최대한 활용할 수 있는 아키텍처 스타일이다.
  • REST는 네트워크 상에서 Client와 Server 사이의 통신 방식 중 하나이다.

좀더 구체적인 개념으로는 다음과 같이 설명할 수 있다.

  • HTTP URI를 통해 자원을 명시하고, HTTP Method를 통해서 해당 자원에대한 CRUD를 적용하는 것을 의미한다.

장점

  • HTTP 프로토콜의 인프라를 그대로 사용하므로 REST API 사용을 위한 별도의 인프라를 구출할 필요가 없다.
  • HTTP 프로토콜의 표준을 최대한 활용하여 여러 추가적인 장점을 함께 가져갈 수 있게 해준다.
  • HTTP 표준 프로토콜에 따르는 모든 플랫폼에서 사용이 가능하다.
  • REST API 메시지가 의도하는 바를 명확하게 나타내므로 의도하는 바를 쉽게 파악할 수 있다.
  • 서버와 클라이언트의 역할을 명확하게 분리한다.

단점

  • 표준이 존재하지 않는다. ( 명확한 지침이나 기준이 있느것은 아니다 )
  • 사용할 수 있는 메소드가 제한적이다. GET POST PUT DELETE

REST API

API(Application Programming Interface)란

  • 데이터와 기능의 집합을 제공하여 컴퓨터 프로그램간 상호작용을 촉진하며, 서로 정보교환을 가능하도록 하는 것.

REST API의 정의

  • REST 기반으로 서비스 API를 구현한 것을 말한다.

특징

  • 사내 시스템도 REST를 기반으로 시스템을 분산해 확장성과 재사용성을 높여 유지보수 및 운용을 편리하게 할 수 있다.
  • HTTP표준을 기반으로 구현하므로 HTTP를 지원하는 프로그램 언어로 클라이언트, 서버를 구현할 수 있다.

REST API설계 기본 규칙

  1. URI는 정보의 자원을 표현해야 한다.

    1) 동사보다는 명사 , 대문자보다 소문자로 표기
    2) resource의 도큐먼트 이름으로는 단수 명사
    3) resource의 컬렉션 또는 스토어 이름으로는 복수 명사를 사용한다.
    ex) GET /Member/1 --> GET /members/1

  2. 자원에 대한 행위는 HTTP Method가 들어가면 안된다.

    ex) GET /members/delete/1 --> DELETE / members/1

  3. URI에 행위에 대한 동사표현이 들어가면 안된다.

    ex) GET /members/show/1 --> GET /members/1

RESR full 이란?

  • RESTful은 일반적으로 REST라는 아키텍처를 구현하는 웹 서비스를 나타내기 위해 사용되는 용어이다.
  • RESTful은 REST를 REST답게 쓰기 위한 방법으로, 누군가가 공식적으로 발표한 것이 아니다.
    즉, REST 원리를 따르는 시스템은 RESTful이란 용어로 지칭된다.
profile
자바 스터디 정리 - 하단 홈 버튼 참조.

0개의 댓글