Isanghada
로그인
Isanghada
로그인
SPRING - REST API
이상해씨
·
2022년 11월 10일
팔로우
0
SSAFY
Spring
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 방식
Create
POST : /write.do?id=troment
POST : /blog/troment
Read
GET : /view.do?id=troment
GET : /blog/troment/25
Update
POST : /modify.do?id=troment
PUT : /blog/troment
Delete
GET : /delete.do?id=troment
DELETE : /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 방식 지원.
이상해씨
후라이드 치킨
팔로우
이전 포스트
SPRING - MyBatis
0개의 댓글
댓글 작성