[Spring] REST API

Wonkyun Jung·2023년 4월 26일
0

스프링

목록 보기
6/6
post-thumbnail

REST API


Open API(Application Programming Interface)

  • OPEN API는 프로그래밍에서 사용할 수 있는 개방되어 있는 상태의 Interface

  • naver, kakao등 포털 서비스 사이트나 통계청, 기상청, 우체국 등과 같은 관공서, 공공 데이터 포털이 가지고 있는 데이터를 외부 응용 프로그램에서 사용할 수 있도록 제공하고 있다.

  • OPEN API와 함께 거론되는 기술이 REST이며, 대부분의 OPEN API는 REST방식으로 지원



REST(Represent State Transfer)

  • REST는 'Representational State Transfer'의 약어로 하나의 URI는 하나의 고유한 리소스를 대표하도록 설계된다는 개념에 전송방식을 결합해서 원하는 작업을 지정한다

  • 웹 장점을 최대한 활용할 수 있는 아키텍쳐로써 REST를 발표

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


REST 구성

  • 자원 (Resource) - URI

  • 행위 (Verb) - HTTP Method

  • 표현 (Representation)

잘 표현된 HTTP URI로 리소스를 정의하고 HTTP method로 리소스에 대한 행위를 정의한다

리소스는 JSON, XML과 같은 여러가지 언어로 표현할 수 있다.


기존 Service와 REST Service

  • 기존 Service: 요청에 대한 처리를 한 후 가공된 data를 이용하여 특정 플랫폼에 적합한 형태의 View로 만들어서 반환

  • REST Service: data 처리만 한다거나, 처리 후 반환될 data가 있다면 JSON이나 XML 형식으로 전달. View에 대해서는 신경 쓸 필요가 없다 -> 이런 이유로 Open API에서 많이 사용


REST

  • 기존의 웹 접근 방식과 REST API 방식의 차이점

  • 기존의 블로그등은 GET과 POST만으로 자원에 대한 CRUD를 처리하며, URI는 액션을 나타냈다

  • REST로 변경할 경우 4가지 method를 모두 사용하여 CRUD를 처리하며, URI는 제어하려는 자원을 나타낸다


REST API 설정

  • Jackson library


REST 관련 Annotation


0개의 댓글