개발쉼터

[Spring] Controller: return 타입 본문

Spring (Framework & Boot)

[Spring] Controller: return 타입

오로지와이기고 2023. 11. 10. 05:06

Spring을 공부하면서 @Controller 어노테이션만 사용하다가 댓글을 JSON/XML 형식으로 만들어보려고 @RestController를 사용하게 되었는데 Controller에 대해서 좀 더 자세히 알고 써야되겠다 싶어서 정리해보기로 했다.

return 타입

String

 

Model & ModelMap

 

ModelAndView

 

redirect

 

void

 

Map

 

@ResponseBody

 

@RestController

 

@Controller vs @RestController

근본적인 차이점은 @Controller의 역할은 Model 객체를 만들어 데이터를 담고 View를 찾는 것이지만

@RestController는 단순한 객체만을 반환하고 객체 데이터는 JSON 또는 XML 형식으로 HTTP응답에 담아서 전송한다.

물론 @Controller와 @ResponseBody를 사용하여 똑같이 만들 수 있지만 이러한 방식은 RESTful 웹서비스의 기본 동작이기 때문에 Spring은 @Controller와 @ResponseBody의 동작을 조합한 @RestController을 도입했다.

Comments