스프링 MVC 메서드 파라미터용 주요 어노테이션

2025. 7. 2. 09:32spring

반응형
어노테이션역할 및 설명

 

@RequestParam 쿼리 스트링이나 폼 데이터의 특정 파라미터 값을 받음. 예: /user?id=1
@PathVariable URL 경로 일부를 변수로 받아옴. 예: /user/{id}
@RequestBody HTTP 요청 본문을 읽어 객체로 변환 (주로 JSON, XML)
@ModelAttribute 폼 데이터 또는 쿼리 파라미터를 자바 객체에 바인딩
@RequestHeader HTTP 요청 헤더 값을 받아옴
@CookieValue 쿠키 값을 받아옴
@SessionAttribute 세션에 저장된 값을 받아옴
@RequestPart 멀티파트 요청에서 특정 부분(파일 등)을 받아옴
@Valid 검증 어노테이션과 함께 사용해 입력 데이터 유효성 검사 실행 (JSR-303/JSR-380 Bean Validation)
@AuthenticationPrincipal Spring Security에서 인증된 사용자 정보를 받아옴
Principal 인증된 사용자 정보를 받을 때 쓰는 일반 자바 인터페이스 파라미터
Locale 요청 Locale 정보를 받아옴
InputStream / Reader 원시 요청 바디를 직접 읽을 때 사용
HttpServletRequest / HttpServletResponse 서블릿 API 객체 직접 접근 가능
RedirectAttributes 리다이렉트 시 플래시 속성을 전달할 때 사용
 

간단한 예시

@GetMapping("/user/{id}")
public String getUser(
    @PathVariable Long id,
    @RequestParam(defaultValue = "false") boolean details,
    @RequestHeader("User-Agent") String userAgent,
    @CookieValue(value = "SESSIONID", required = false) String sessionId,
    @ModelAttribute UserSearchCriteria criteria) {

    // id, details, userAgent, sessionId, criteria 모두 자동 주입됨
    return "userDetail";
}

 

반응형