본문 바로가기
Spring공부/1-REST

REST방식(1)

by 으노으뇨 2021. 10. 6.
728x90
반응형
SMALL

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

예를들어 '/boards/123'은 게시물 중 123이라는 고유한 의미를 가지도록 설계하고, 이에 대한 처리는 GET,POST 방식과 같이 추가적인 정보를 통해서 결정한다.

따라서 REST 방식은 다음과 같이 구성된다고 생각할 수 있다.

URI + GET/POST/PUT/DELETE 등

스프링은 @RequestMapping 이나 @ResponseBody와 같이 REST 방식의 데이터 처리를 위한 여러 종류의 어노테이션과 기능이 있다. REST관련해서 알아 두어야 하는 어노테이션들은 다음과 같다.

@RestController :  controller가 Rest방식을 처리하기 위한 것임을 명시한다.

@ResponseBody : 일반적인 JSP와 같은 뷰로 전달되는 게 아니라 데이터자체를 전달하기 위한 용도

@PathVariable : URL 경로에 있는 값을 파라미터로 추출하려고 할 때 사용

@CrossOrigin : Ajax의 크로스 도메인 문제를 해결해주는 어노테이션

@RequestBody : Json 데이터를 원하는 타입으로 바인딩 처리

//

@RestController

Rest 방식에서 가장 먼저 기억해야 하는 점은 서버에서 전송하는 것이 순수한 데이터라는 점이다.

기존의 Controller에서 Model에 데이터를 담아서 JSP등과 같은 뷰로 전달하는 방식이 아니므로 기존의 Controller 와는 조금 다르게 동작한다.

스프링4에서 부터는 @Controller 외에 @RestController 라는 어노테이션을 추가해서 해당 Controller의 모든 메서드의 리턴 타입을 기존과 다르게 처리한다는 것을 명시한다.

@RestController 는 메서드의 리턴 타입으로 사용자가 정의한 클래스 타입을 사용할 수 있고, 이를 JSON이나 XML로 자동으로 처리할 수 있다.

 

728x90
반응형
LIST

'Spring공부 > 1-REST' 카테고리의 다른 글

REST방식(6)-Ajax댓글처리  (2) 2021.10.07
REST방식(5)  (0) 2021.10.07
REST방식(4)  (0) 2021.10.06
REST방식(3)  (0) 2021.10.06
REST방식(2)-의존성주입  (0) 2021.10.06

댓글