본문 바로가기
IT/spring

스프링 @RequestMapping 어노테이션

by 뉴코딩맨 2023. 6. 29.
스프링 프레임워크에서 @RequestMapping 어노테이션은 웹 요청을 처리하는 메소드나 클래스에 적용되는 어노테이션입니다. @RequestMapping 어노테이션에 대해 자세히 알아보고, 예시를 통해 설명하도록 하겠습니다.
 
 

@RequestMapping 어노테이션의 역할

@RequestMapping 어노테이션은 클라이언트의 요청을 특정 메소드 또는 클래스에 매핑하여 해당 요청을 처리할 수 있도록 합니다. 이 어노테이션을 사용하여 경로, HTTP 메소드, 요청 헤더 등 다양한 요청 조건을 설정할 수 있습니다.
 
 

@RequestMapping 어노테이션 예시

아래는 @RequestMapping 어노테이션을 사용한 예시입니다.
 
@Controller
@RequestMapping("/users")
public class UserController {

    @RequestMapping(value = "/{id}", method = RequestMethod.GET)
    public ResponseEntity<User> getUser(@PathVariable("id") int id) {
        // 사용자 정보 조회 로직
        return ResponseEntity.ok(user);
    }

    @RequestMapping(value = "/", method = RequestMethod.POST)
    public ResponseEntity<User> createUser(@RequestBody User user) {
        // 사용자 생성 로직
        return ResponseEntity.status(HttpStatus.CREATED).body(createdUser);
    }
}
 
위의 예시에서 UserController 클래스에 @RequestMapping 어노테이션이 붙어있습니다. 클래스에 적용된 @RequestMapping("/users")은 /users 경로로 들어오는 모든 요청을 해당 클래스의 메소드가 처리할 수 있도록 매핑합니다. 메소드에 적용된 @RequestMapping 어노테이션은 각각 GET과 POST 요청에 대한 매핑을 설정합니다. 예를 들어, /users/123 경로로 GET 요청이 들어오면 getUser() 메소드가 실행되어 해당 사용자의 정보를 조회하고 응답을 반환합니다.

 

 

경로 변수와 요청 매핑

@RequestMapping 어노테이션은 경로 변수를 사용하여 동적인 경로 매핑도 가능합니다. 예를 들어, /users/{id}와 같이 경로 변수를 지정하면 {id} 자리에 들어온 값에 따라 매핑이 결정됩니다.
 
 

마무리

스프링의 @RequestMapping 어노테이션에 대해 알아보았습니다. @RequestMapping 어노테이션을 사용하여 웹 요청을 특정 메소드나 클래스에 매핑할 수 있으며, 다양한 요청 조건을 설정할 수 있습니다.
 

댓글