카테고리 없음

<Spring boot>@Controller, @RestController

DevilFront 2020. 7. 29. 19:47
반응형

간단하게 내가 이해한 식으로 정리를 해보자면

 

@Controller : 페이지를 반환

@RestController : 데이터를 반환

 

물론 일반 Controller 에서도 데이터를 조작하긴 하지만 결국엔 조작한 데이터를 model 에 담아서 페이지를 반환해주는 반면 @RestController 에서는 필요한 데이터`만` 반환해준다.

 

실제 내 프로젝트에 적용된 사례를 보고 예를 들어보겠다. 

 

 

위 사진은 'detail' 로 매핑을 해주고 tiles에 camp.detail 이름을 넘겨줘서 해당하는 페이지를 불러오는 곳의 코드다.

(tiles 라이브러리를 쓰지 않고 있다면 직접 그 페이지를 불러주면 되곘다!)

 

**결국 return 해주는 것이 tiles라이브러리를 통해 페이지를 불러와주기 위한 이름을 전달하고 있다.**

 

RestController

                   

제이쿼리 ajax 로 데이터를 요청하고 반환해서 처리하는 곳

 

위의 사진들을 보면 return 으로 넘겨주는 값이 내가 필요한 데이터가 담긴 Map 컬렉션을 반환해주고 있는 것을 볼 수가 있다. 

 

** 페이지를 요청하는 것이 아닌 '데이터'를 반환**

 

 

간단정리!

 

@Controller : 페이지를 호출

@RestController : 데이터를 반환

 

나의 경우에는 주로 싱글페이지로 (페이지리로딩 없이) 데이터를 바꿔주고 싶을 때 많이 사용하고 있다. 

반응형