Junior — Middle
109
Koje metode ili mehanizme za obradu grešaka koristite u REST kontrolerima?
Компаније где су питане
Одговор од АИ
sobes.tech АИ
В REST-контроллерах на Java для обработки ошибок обычно применяются следующие методы:
- Использование аннотации
@ExceptionHandlerв контроллере или в отдельном классе с@ControllerAdviceдля централизованной обработки исключений. - Возврат корректных HTTP-статусов с описанием ошибки в теле ответа, например, 400 для ошибок клиента, 500 для ошибок сервера.
- Создание кастомных классов исключений для разных типов ошибок (например,
ResourceNotFoundException,ValidationException).
Пример обработки исключения с @ControllerAdvice:
@RestControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(ResourceNotFoundException.class)
public ResponseEntity<String> handleNotFound(ResourceNotFoundException ex) {
return ResponseEntity.status(HttpStatus.NOT_FOUND).body(ex.getMessage());
}
@ExceptionHandler(Exception.class)
public ResponseEntity<String> handleGeneral(Exception ex) {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Внутренняя ошибка сервера");
}
}
Такой подход позволяет отделить логику обработки ошибок от бизнес-логики и обеспечить единообразный формат ответов при ошибках.