Встречается на собеседованиях • сегодня
В чем разница между PUT и PATCH
PUT полностью заменяет ресурс новыми данными, требуя передачи всех полей. Если какие-то поля не указаны, они будут установлены в null или дефолтные значения.
PATCH применяет частичное обновление, изменяя только указанные поля. Остальные поля остаются без изменений.
Пример PUT:
java
// Обновит весь ресурс, name станет null если не указан
@PutMapping("/users/{id}")
public void updateUser(@PathVariable Long id, @RequestBody User user) {
user.setId(id);
userRepository.save(user);
}Пример PATCH:
java
// Обновит только email, остальные поля не изменятся
@PatchMapping("/users/{id}")
public void patchUser(@PathVariable Long id, @RequestBody Map<String, Object> updates) {
User user = userRepository.findById(id).orElseThrow();
if (updates.containsKey("email")) {
user.setEmail((String) updates.get("email"));
}
userRepository.save(user);
}PUT идемпотентен (повторные вызовы дают тот же результат), PATCH может быть неидемпотентным.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы