본문 바로가기
Java/Spring

Spring MVC Controller 에서 요청 데이터 처리 방법 : 주요 어노테이션 소개

by 리요_ 2025. 1. 13.
반응형

Spring MVC Controller 에서 요청 데이터 처리 방법 : 주요 어노테이션 소개

Spring MVC는 웹 애플리케이션 개발에서 주로 사용되는 프레임워크입니다.

이 프레임워크는 클라이언트의 요청을 처리하기 위해 다양한 방법을 제공하며, 요청 데이터를 처리하는 데 주로 사용되는 몇 가지 주요 어노테이션에 대해 정리해보려 합니다.

 

1. @RequestBody

@PostMapping("/liyo/test")
public ResponseEntity<User> createUser(@RequestBody User user){
	// user 객체 처리 로직
}

 

주로 가장 많이 사용하는 @RequestBody 어노테이션입니다.

클라이언트가 전송한 JSON 데이터를 Java 객체로 변환하는 데 사용합니다.

주로 RESTful API에서 POST 요청을 처리할 때 유용합니다.

 


2. @ModelAttibute

@PostMappring("/liyo/submit")
public String submitForm(@ModelAttribute UserForm userForm)
	// userForm 객체 처리 로직
    return "result";
}

 

다음으로 자주 사용하는 @ModelAttribute입니다.

폼 데이터나 쿼리 파라미터를 Java 객체로 변환합니다. 주로 HTML 폼 제출 시 사용됩니다.


3. @RequestParam

@GetMapping("/liyo/users")
public ResponseEntity<List<User>> getUsers(@RequestParam("page") int page) {
	// page 값 처리 로직
}

@RequestParam은 URL 쿼리 파라미터를 메서드 매개변수로 직접 바인딩합니다.

특정 파라미터의 값을 쉽게 가져올 수 있습니다.

 

RequestParam으로 값을 전송하게 되면 http://dev.liyo.com/8080/test/liyo/users?lgnId=liyo 와 같이 URL에 파라미터가 포함되어 직접 바인딩됩니다.

 

전송 값이 한 가지이거나 보안과 관련이 없는 경우 간단한 처리를 할 수 있습니다.


4. @PathVariable

@GetMappring("liyo/user/{id}")
public ResponseEntity<User> getUser(@PathVariable("id") Long id) {
	// id 값 처리 로직
}

@PathVariableURL 경로의 변수 값을 메서드 매개변수로 바인딩합니다. RESTful API에서 자주 사용됩니다.

RequestParam과 유사하지만 조금은 다른 방식입니다. 

RequestParamurlparam 값을 추가해서 보냈다면, PathVariable 은 경로에 포함된 값을 가져와 사용하는 방식입니다.


5. @RequestHeader

@GetMapping("/liyo/secure")
public ResponseEntity<String> secureEndpoint(@RequestHeader("Authorization")String authHeader) {
	// authHeader 처리 로직
}

@RequestHeader는 HTTP 요청 헤더 정보를 메서드 매개변수로 바인딩합니다.

인증 정보나 사용자 에이전트를 처리할 때 유용합니다.

 

HTTP Header API Key 값 인증을 통해 보안 처리도 할 수 있습니다.


6. @CookieValue

@GetMapping("liyo/dashboard")
public ResponseEntity<String> dashboard(@CookieValue("JSEESIONID") String seecionId) {
	// sessionId 처리 로직
}

@CookieValue는 클라이언트의 쿠키 값을 메서드 매개변수로 바인딩합니다.

세션 관리에 유용합니다.

반응형