Engineering Note

[Spring] Annotation 정리 본문

Server/Spring

[Spring] Annotation 정리

Software Engineer Kim 2022. 8. 5. 13:59

@Controller

  • @Controller는 Model 객체를 만들어 데이터를 담고 View를 반환하기 위해 사용한다.
  • @ResponseBody를 사용하면 View를 리턴하지 않고 Controller에서 직접 데이터 리턴이 가능하다.

@RequestMapping

  • 클래스와 메소드의 RequestMapping을 통해 URL을 매핑하여 경로를 설정하여 해당 메소드에서 처리

@ResponseBody

  • 직접 Data return이 가능하다.
  • 각 메서드 마다 작성해야하한다.

@RestController

  • Spring Framework4 버전부터 사용가능한 어노테이션
  • @Controller에 @ResponseBody가 결합된 어노테이션
    • 컨트롤러 클래스 하위 메소드에 @ResponseBody 어노테이션을 붙이지 않아도 문자열과 JSON 등을 전송할 수 있음
    • View를 거치지 않고 HTTP ResponseBody에 직접 Return 값을 담아 보내게 됨
    • 반환되는 객체 데이터 타입->(JSON/XML 타입의 HTTP 응답을 직접 리턴)
  • @Controller는 View를 거치고 @RestController는 View를 거치지 않는다.
  • @RestContller는 HTTP 각 메소드로 부터 return 된 데이터를 즉시 response body로 보낸다. @Controller와 다른점이다. @Controller는 template으로 rendering한다.
Comments