[Spring] REST / RESTfull / REST API

SHINYEJI·2023년 10월 27일
0

Back-End

목록 보기
20/24

OPEN API

  • 프로그래밍에서 사용할 수 있는 개방되어 있는 상태의 인터페이스
  • 다른 포털 사이트나 공공 데이터 포털 등에서 데이터를 외부 응용 프로그램에서 사용할 수 있도록 open API를 제공하고 있다.
  • 대부분의 OPEN API는 REST방식으로 지원한다.

📌 REST

  • REpresentational State Transfer

  • 하나의 URI는 하나의 고유한 리소스를 대표하도록 설계된다는 개념에 전송방식을 결합해 원하는 작업을 지정한다.

  • REST는 제어할 자원 명시(HTTP URI)하고 HTTP Method (GET / POST / PUT / DELETE)을 통해 해당 자원을 제어하는 명령을 내리는 방식의 아키텍쳐다.

    URI ?
    URI는 URL(Uniform Resource Locator)과 URN(Uniform Resource Name)으로 나뉘다.

    • URL (Uniform Resource Locator): URL은 자원의 위치를 지정하는 URI의 하위 집합이다.
    • URN (Uniform Resource Name): URN은 자원의 이름을 지정하는 URI의 하위 집합입니다. URN은 자원의 위치를 나타내는 것이 아니라, 그 자원의 고유한 이름을 정의합니다.

    REST Service
    : Web Client가 REST 아키덱처 방식으로 Server에게 요청을 하면 Server는 View에 대해 신경쓸 필요 없이 처리 후 반환 될 data가 있다면 JSON이나 XML형식으로 전달한다.

    • client에서 view를 처리하게 됨으로 Client-Side-Rendering방식에서 REST가 사용된다.

일반적인 REST 자원 표현 (권장)

  • URI의 자원은 명사로 표현한다.
  • 특별한 경우를 제외하고 대문자를 사용하지 않고 소문자를 사용한다.
    (RFC3986 규정에 의해 대소문자를 구분하기 때문이다.)
  • 하이픈(-)은 사용 가능하지만 언더바(_)는 사용하지 않는다. (가독성)
  • 특별한 경우를 제외하고 대문자를 사용하지 않는다 - RFC3986 규정에 의해 대소문자를 구분하기 때문이다.
  • URI 마지막에 슬래시 (/)를 사용하지 않는다.
  • 슬래시(/)로 계층 관계를 나타낸다.
  • 확장자가 포함된 파일 이름을 직접 포함시키지 않는다.

CURD에 따라, 해당하는 HTTP Method를 사용하는 것을 권장한다.
Create - Post
Read - GET
Update - POST
Delete - DELETE


📌 RESTfull

  • REST한 요청을 통해 자원에 대한 요청만 처리 하는 서버를 RESTfull한 서버라고 한다.

왜 RESTfull 서버를 사용해야 하는가?


📌 REST API

  • 응용 프로그램에서 RESTfull 서버가 상호작용하기 위한 방법 또는 기능이다.

API ?
Application Programming Interface
: 응용 프로그램 간에 상호작용을 위한 방법 또는 기능

0개의 댓글