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 값 처리 로직
}
@PathVariable은 URL 경로의 변수 값을 메서드 매개변수로 바인딩합니다. RESTful API에서 자주 사용됩니다.
RequestParam과 유사하지만 조금은 다른 방식입니다.
RequestParam이 url에 param 값을 추가해서 보냈다면, 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는 클라이언트의 쿠키 값을 메서드 매개변수로 바인딩합니다.
세션 관리에 유용합니다.
'Java > Spring' 카테고리의 다른 글
[Spring/SpringBoot] application 설정 값 가져오기 (0) | 2024.08.01 |
---|---|
[Spring/SpringBoot] 빈(Bean) 생성하는데 사용되는 어노테이션 정리 (0) | 2024.07.31 |