Request Mapping은 Spring Framework에서 클라이언트의 HTTP 요청을 특정 컨트롤러 메서드와 연결하는 데 사용되는 애노테이션 입니다. 클라이언트가 보낸 URL, HTTP 메서드(GET, POST 등), 요청 파라미터 등을 기반으로 요청을 처리할 메서드를 매핑합니다.
대표적으로 사용하는 애노테이션:
@RequestMapping: 가장 기본적인 요청 매핑 애노테이션 @GetMapping, @PostMapping, @PutMapping, @DeleteMapping: HTTP 메서드에 따라 세분화된 애노테이션 예제:
@RequestMapping(value = "/hello", method = RequestMethod.GET)
public String sayHello() {
return "Hello, World!";
}
예제:
@GetMapping("/users")
public List<User> getUsers() {
return userService.findAll();
}
예제:
@PostMapping("/users")
public String createUser(@RequestBody User user) {
userService.save(user);
return "User created successfully";
}
예제:
@PutMapping("/users/{id}")
public String updateUser(@PathVariable Long id, @RequestBody User user) {
userService.update(id, user);
return "User updated successfully";
}
예제:
@DeleteMapping("/users/{id}")
public String deleteUser(@PathVariable Long id) {
userService.delete(id);
return "User deleted successfully";
}
예제:
@RequestMapping(value = "/users", method = RequestMethod.GET, params = "age=20", headers = "X-Request=Custom")
public List<User> getUsersByAge() {
return userService.findByAge(20);
}
Request Mapping은 Spring MVC에서 컨트롤러와 클라이언트 요청을 연결하는 핵심 기능으로, RESTful API를 설계하는 데 매우 유용하다는 점을 배웠습니다. 특히, @GetMapping 등 세분화된 애노테이션은 코드의 가독성을 높이고, 유지보수를 쉽게 만들어줍니다. 앞으로 복잡한 API 설계 시, 매핑 조건들을 적절히 활용해 더 유연하고 효율적인 코드를 작성해야겠다고 느꼈습니다.