[REST방식] REST/REST API/RESTful 이란
Programming/Tips

[REST방식] REST/REST API/RESTful 이란

728x90
반응형

 

REST 방식

REST : 'Representational State Transfer'

하나의 URI는 하나의 고유한 리소스를 대표하도록 설계된다.

 

REST방식

특정한 URI는 반드시 그에 상응하는 데이터 자체라는 것을 의미하는 방식

 

REST API

REST API : 외부에서 위와 같은 방식으로 특정 URI를 통해서 사용자가 원하는 정보를 제공하는 방식

최근 Open API에서 많이 사용되면서 REST 방식으로 제공되는 외부 연결 URI를 REST API라고 한다.

 

RESTful

RESTful : REST 방식의 서비스 제공이 가능한 것

 

@RestController

(스프링 3버전부터 @ResponseBody를 지원해 REST 방식의 처리를 지원, 스프링 4버전에서 @RestController가 소개됨)

 

@RestController : REST 방식의 데이터 처리를 위해서 사용하는 애노테이션

@Controller 대신에 @RestController를 사용하는 클래스의 모든 메소드는 @ResponseBody가 생략되었다고 생각해도 무방함.

 

JSP와 같은 뷰를 만들어 내지 않는 대신에 데이터 자체를 반환, 주로 단순 문자열과 JSON, XML 등으로 사용

- 단순 문자열 : 기본적으로 text/html 타입으로 처리

- JSON : 객체/컬렉션 타입(List, Map 등)을 자동으로 application/json 타입으로 처리 (pom.xml에 jackson-databind 라이브러리 추가)

- ResponseEntity 타입 : 개발자가 직접 결과 데이터 + HTTP의 상태 코드를 직접 제어할 수 있는 클래스, 개발자는 404나 500같은 HTTP 상태 코드를 전송하고 싶은 데이터와 함께 전송할 수 있기 때문에 세밀한 제어가 필요한 경우 사용

 

HTTP Method를 통해 해당 자원에 대한 CRUD 적용

GET : 조회 (Read)
POST : 생성 (Create) 
PUT : 수정 (Update)
DELETE : 삭제 (Delete)

728x90
반응형