스프링 MVC 주요 애노테이션 정리

수정이·2022년 5월 18일
0

Spring

목록 보기
3/16
post-thumbnail
post-custom-banner

주요 어노테이션


  • @Controller

    • 스프링이 자동으로 스프링 빈으로 등록한다.
      • 내부에 @Component애노테이션이 있어서 컴포넌트 스캔의 대상이 된다.
    • 스프링 MVC에서 애노테이션 기반 컨트롤러로 인식한다.
  • @RestController

    • @Controller는 반환 값이 String이면 뷰 이름으로 인식된다. 그래서 뷰를 찾고 뷰가 랜더링 된다.
    • @RestController는 반환 값으로 뷰를 찾지 않고, HTTP 메시지 바디에 바로 입력한다.
  • @RequestMapping(URI)

    • 요청 정보를 매핑한다. 해당 URI가 호출되면 이 메서드가 호출된다. 애노테이션 기반으로 동작하기 때문에, 메서드의 이름은 임의로 지으면 된다.
  • @RequestParam

    • HTTP 요청 파라미터를 이 애노테이션으로 받을 수 있다.
    • @RequestParam("username")request.getParameter("username")와 거의 같은 코드이다.
    • GET 쿼리 파라미터, POST Form 방식을 모두 지원한다.
  • @PathVariable

    • /mapping/{userId}와 같은 URI 경로가 호출되었다면, 중괄호안에 있는 값을 @PathVariable을 통해 받을 수 있다.
    • @PathVariable("userId") String data : 변수명을 다르게 받을 수 있다.
      @PathVariable String userId : 변수명이 같으면 소괄호를 생략할 수 있다.
  • @RequestHeader("header-name")

    • 특정 HTTP 헤더를 조회한다.
    • @RequestHeader("host") String host : host 헤더를 조회한다.
  • @CookieValue(value = "", required = boolean)

    • 특정 쿠키를 조회한다.
    • @CookieValue(value = "myCookie", required = boolean) String cookie
  • @ResponseBody

    • View 조회를 무시하고, HTTP message body에 직접 해당 내용을 입력한다.
  • @ModelAttribute

    • @RequestParam은 쿼리 파라미터가 여러개일 경우 한개만 받을 수 있다. 쿼리 파라미터들이 다 들어있는 클래스가 있다면, @ModelAttribute를 통해 쿼리 파라미터들을 한꺼번에 받을 수 있다.
  • @RequestBody

    • @RequestBody를 사용하면 HTTP 메시지 바디 정보를 편리하게 조회할 수 있다.
      • 헤더 정보가 필요하면 @RequestHeader를 사용하면 도니다.

참고


김영한님의 스프링 MVC 1편

post-custom-banner

0개의 댓글