프로젝트를 하는 중에 어노테이션의 구분을 제대로 하지 못해 시간을 날린 기억에 간단하게 정리 한다.

(Project 3 내용 범위의 방법론에 대해서만 정리)


사전지식

 Spring MVC

  - 프론트 컨트롤러

  - 핸들러

 


@Controller와 @RestController의 차이

 (Spring MVC vs Restful 웹서비스 컨트롤러)


 - @Controller는 화면(View)을 리턴하는 용도




 - @RestController는 데이터를 리턴하는 용도




@RestController는 Spring 4.x 버전이후 등장한 어노테이션이기 때문에 


만약 Spring 3.x에서 @RestController의 기능을 구현하기 위해서는 


@Controller와 메서드 리턴타입을 @ResponseBody를 붙여야 한다.


 - @Controller + @ResponseBody




결과적으로 사용방법은 이러하다.




밑의 내용은 어노테이션 사용시 구조적인 차이와 동작 방식


 @Controller만 사용할 경우 동작 흐름




 @Controller + @ResponseBody를 사용할 경우 동작 흐름



@RestController를 사용할 경우 동작 흐름




+ Recent posts