@Controller
- 전통적인 Spring MVC 의 컨트롤러 역할로 View 를 전달 하기 위해 사용

사용자 요청에 대한 응답 과정
- Client는 URI 형식으로 웹 서비스에 요청을 보낸다.
- DispatcherServlet이 요청을 위임할 HandlerMapping을 찾는다.
- HandlerMapping을 통해 요청을 Controller로 위임한다.
- Controller는 요청을 처리한 후에
ViewName을 반환
한다.
- DispatcherServlet은 ViewResolver를 통해 ViewName에 해당하는 View를 찾아 사용자에게 반환한다.
View 가 아닌 데이터를 전달하는 경우
@ResponseBody
를 붙여 return 값을 응답 객체 바디에 담아 전달
@GetMapping(value = "/users")
public @ResponseBody ResponseEntity<User> findUser(@RequestParam("userName") String userName){
return ResponseEntity.ok(userService.findUser(user));
}
@RestController
- Restful 웹서비스의 컨트롤러
- @Controller 의 기능에
@ResponseBody
가 추가된 것
- JSON 형태의 데이터를 사용자에게 전달

사용자 요청에 대한 응답 과정
- Client는 URI 형식으로 웹 서비스에 요청을 보낸다.
- DispatcherServlet이 요청을 위임할 HandlerMapping을 찾는다.