@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";
    }
}
/user/1GET@PostMapping 은 HTTP POST 요청을 처리하는 데 사용됨.
주로 데이터 생성 또는 서버에 새로운 데이터를 제출할 때 사용됨
@Controller
@RequestMapping("/users")
public class UserController {
	
    @PostMapping
    public String createUser(@ModelAttribute User user) {
    	userService.save(user);
        return "redirect:/users";
    }
}
/usersPOST@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;
    }
}
/users/1PUT@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;
    }
}
/users/1PATCH@DeleteMapping 은 HTTP DELETE 요청을 처리하는 데 사용됨.
주로 데이터를 삭제하는 데 사용됨
@Controller
@RequestMapping("/users")
public class UserController {
	
    @DeleteMapping("/{id}")
    public String deleteUser(@PathVariable Long id) {
    	userService.delete(id);
        return "redirect:/users";
    }
}
/users/1DELETE