litlight 2024. 5. 21. 13:58

Controller

  • 사용자의 요청이 진입하는 지점
  • 요청에 따라 어떤 처리를 할지 결정을 Service에 넘겨 줌
  • Service에서 실질적으로 처리한 내용을 View에게 넘겨줌
  • Controller 사용 이유
    • 대규모 서비스가 있을 때 여러 종류의 서비스를 한 클래스에서 처리하는 대신 Controller라는 중간 제어자를 만들어 A 서비스에 대한 것은 A-Controller가 맡고, B 서비스는 B-Controller가 맡는 식으로 역할에 따라 설계하고 코딩하여 개발 비용과 유지보수비용을 줄일 수 있기 때문에 Controller를 사용함

Controller 사용법

  • 스프링에서 컨트롤러를 지정해주기 위한 어노테이션 두 가지 :
    @Controller와 @RestController
  1. @Controller
    • 전통적인 Spring MVC의 컨트롤러
    • 주로 View를 반환하기 위해 사용
    • @ResponseBody 어노테이션과 같이 사용하면 RestController와 똑같은 기능을 수행할 수 있음
  2. @RestController
    • Controller에서 @ResponseBody 어노테이션이 붙은 효과
    • 주용도는 JSON/XML형태로 객체 데이터 반환을 목적으로 함