Назад к вопросам
Junior
69
questionbank
В чем разница между аннотациями @RequestMapping и @PutMapping в Spring?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
@RequestMapping — универсальная аннотация для маппинга веб-запросов на методы обработчика. Позволяет указать HTTP-метод (GET, POST, PUT, DELETE, PATCH), путь, параметры, заголовки, типы содержимого запроса и ответа.
@PutMapping — специализированная аннотация, являющаяся сокращением для @RequestMapping(method = RequestMethod.PUT). Используется исключительно для маппинга HTTP-запросов типа PUT на методы обработчика.
Основное различие: @RequestMapping более общая и настраиваемая, @PutMapping специфична для операции обновления ресурса (PUT).
Пример:
// Пример использования @RequestMapping для обработки PUT запроса
@RequestMapping(value = "/users/{id}", method = RequestMethod.PUT)
public ResponseEntity<User> updateUser(@PathVariable Long id, @RequestBody User userDetails) {
// Логика обновления пользователя
return ResponseEntity.ok(updatedUser);
}
// Пример использования @PutMapping для того же самого
@PutMapping("/users/{id}")
public ResponseEntity<User> updateUser(@PathVariable Long id, @RequestBody User userDetails) {
// Логика обновления пользователя
return ResponseEntity.ok(updatedUser);
}