스프링 MVC Mapping 어노테이션

Yuno·2024년 8월 11일
1

JavaSpring

목록 보기
9/16

📌 @GetMapping

@GetMapping 은 HTTP GET 요청을 처리하는 데 사용됨.
주로 데이터 조회를 위한 요청에 사용됨

@Controller
@RequestMapping("/users")
public class UserController {
	
    @GetMapping("/{id}")
    public String getUser(@PathVariable Long id, Model model) {
    	User user = userService.findById(id);
        model.addAttraibute("user", user);
        returen "userView";
    }
}
  • URL : /user/1
  • HTTP Method : GET
  • Purpose : 사용자 ID가 1인 사용자의 정보를 조회하고 보여줌

📌 @PostMapping

@PostMapping 은 HTTP POST 요청을 처리하는 데 사용됨.
주로 데이터 생성 또는 서버에 새로운 데이터를 제출할 때 사용됨

@Controller
@RequestMapping("/users")
public class UserController {
	
    @PostMapping
    public String createUser(@ModelAttribute User user) {
    	userService.save(user);
        return "redirect:/users";
    }
}
  • URL : /users
  • HTTP Method : POST
  • Purpose : 새 사용자 정보를 제출하여 데이터베이스에 저장

📌 @PutMapping

@PutMapping 은 HTTP PUT 요청을 처리하는 데 사용됨.
주로 기존 데이터를 업데이트하는 데 사용됨

@Controller
@RequestMapping("/users")
public class UserController {
	
    @PutMapping("/{id}")
    public String updateUser(@PathVariable Long id, @ModelAttribute User user) {
    	userService.update(id, user);
        return "redirect:/users/" + id;
    }
}
  • URL : /users/1
  • HTTP Method : PUT
  • Purpose : ID가 1인 사용자의 정보를 업데이트

📌 @PatchMapping

@PatchMapping 은 HTTP PATCH 요청을 처리하는 데 사용됨.
주로 리소스의 부분적인 업데이트를 수행하는 데 사용됨

@Controller
@RequestMapping("/users")
public class UserController {
	
    @PatchMapping("/{id}")
    public String patchUser(@PathVariable Long id, @Request Map<String, Object> updates) {
    	userService.partialUpdate(id, updates);
        return "redirect:/users/" + id;
    }
}
  • URL : /users/1
  • HTTP Method : PATCH
  • Purpose : ID가 1인 사용자의 특정 필드만 부분적으로 업데이트

📌 @DeleteMapping

@DeleteMapping 은 HTTP DELETE 요청을 처리하는 데 사용됨.
주로 데이터를 삭제하는 데 사용됨

@Controller
@RequestMapping("/users")
public class UserController {
	
    @DeleteMapping("/{id}")
    public String deleteUser(@PathVariable Long id) {
    	userService.delete(id);
        return "redirect:/users";
    }
}
  • URL : /users/1
  • HTTP Method : DELETE
  • Purpose : ID가 1인 사용자를 삭제

🤔 요약

  • @GetMapping : 데이터 조회를 위한 GET 요청 처리
  • @PostMapping : 데이터 생성을 위한 POST 요청 처리
  • @PutMapping : 데이터 전체 업데이트를 위한 PUT 요청 처리
  • @PatchMapping : 데이터 부분 업데이트를 위한 PATCH 요청 처리
  • @DeleteMapping : 데이터 삭제를 위한 DELETE 요청 처리
profile
Hello World

0개의 댓글