스프링 MVC 메서드 파라미터용 주요 어노테이션
2025. 7. 2. 09:32ㆍspring
반응형
어노테이션역할 및 설명
@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";
}
반응형
'spring' 카테고리의 다른 글
자바 스프링 동시성 제어 방법(synchronized) (1) | 2025.07.08 |
---|---|
리다이렉트시 사용하는 RedirectAttributes (0) | 2025.07.02 |
Spring에서 서버 사이드 렌더링과 API 통신은 언제, 어떻게 나눠서 써야 할까? (3) | 2025.07.01 |
롬복 어노테이션 정리 (0) | 2025.06.28 |
Entity 대신 DTO를 써야 하는 이유 (0) | 2025.06.22 |