Назад к вопросам
Junior — Middle
77
Чем отличаются аннотации @RequestMapping и @PutMapping в Spring MVC?
Ответ от нейросети
sobes.tech AI
В Spring MVC аннотация @RequestMapping используется для обработки HTTP-запросов и может применяться как на уровне класса, так и на уровне метода. Она позволяет указать путь, HTTP-методы (GET, POST, PUT и др.), параметры и другие условия для обработки запроса.
Аннотация @PutMapping — это специализированный вариант @RequestMapping, который по умолчанию обрабатывает только HTTP-метод PUT. Она служит для упрощения кода, когда нужно обработать именно PUT-запрос.
Пример:
@RestController
@RequestMapping("/users")
public class UserController {
@RequestMapping(value = "/{id}", method = RequestMethod.PUT)
public ResponseEntity<?> updateUserOld(@PathVariable Long id, @RequestBody User user) {
// обработка PUT-запроса
}
@PutMapping("/{id}")
public ResponseEntity<?> updateUser(@PathVariable Long id, @RequestBody User user) {
// то же самое, но с использованием @PutMapping
}
}
Таким образом, @PutMapping — это более лаконичный и специализированный способ указать обработку PUT-запроса, тогда как @RequestMapping более универсальна.