SPRING - REST API

이상해씨·2022년 11월 10일
0

웹 풀스택(JAVA)

목록 보기
54/54

✔REST(Representational State Transfer) API

1. REST API

◾개요

  • 2000년도 로이 필딩의 박사 학위 논문에 최초로 소개.
  • URI는 하나의 고유한 리소스를 대표하도록 설계된다는 개념 + 전송 방식
    • URI + (GET/POST/PUT/DELETE)
  • 웹의 장점을 최대한 활용할 수 있는 아키텍처.
    • HTTP URI를 통해 제어할 자원 명시. HTTP Method를 통해 해당 자원을 제어하는 명령을 내리는 아키텍처

◾REST 구성

  • 자원 : URI
  • 행위 : HTTP Method
  • 표현 : JSON, XML 등의 언어로 표현 가능.

◾기존 Service와 REST Service

  • 기존 : 요청 처리 후 가공된 data를 이용해 특정 플랫폼에 적합한 형태의 View로 만들어 반환.
  • REST : data 처리만 하거나, 처리 후 반환될 data가 있다면 JSON이나 XML 형식으로 전달. View에 대해 처리하지 않음.

◾REST(Representational State Transfer)

  • 순수한 데이터 전송
  • 기존의 GET/POST 외에 PUT, DELETE 방식을 사용하여 리소스에 대한 CRUD 처리.
  • HTTP URI을 통해 제어할 자우너 명시. HTTP Method를 통해 해당 자원을 제어하는 명령을 내리는 방식.
  • 자원을 표현할 때 Collection(문서, 객체의 집합)과 Document(하나의 문서, 객체) 사용.

◾CRUD 동작

작업기존 방식REST 방식
CreatePOST : /write.do?id=tromentPOST : /blog/troment
ReadGET : /view.do?id=tromentGET : /blog/troment/25
UpdatePOST : /modify.do?id=tromentPUT : /blog/troment
DeleteGET : /delete.do?id=tromentDELETE : /blog/troment/25

◾REST 관련 Annotation

  • @RestController : Controller가 REST 방식을 처리하기 위한 것임을 명시.
  • @ResponseBody : JSP 같은 뷰로 전달되는 것이 아니라 데이터 자체 전달.
  • @PathVariable : URL경로에 있는 값을 파라미터로 추출.
  • @CrossOrigin : Ajax의 크로스 도메인 문제 해결.
  • @RequestBody : JSON 데이터를 원하는 타입으로 바인딩.

◾OPEN API(Application Programming Interface)

  • 프로그래밍에서 사용할 수 있는 개방되어 있는 상태의 Interface
  • naver, kakao 등 포털 서비스나 통계청, 기상청 등 관공서, 공공 데이터 포털이 가지고 있는 데이터를 외부 응용 프로그램에서 사용할 수 있도록 제공.
  • 주로 REST 방식 지원.
profile
후라이드 치킨

0개의 댓글