Back to questions
Simbirsoft
Junior — Middle
58
Какие методы или механизмы обработки ошибок вы используете в REST-контроллерах?
Companies where asked
Answer from AI
sobes.tech AI
В 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("Внутренняя ошибка сервера");
}
}
Такой подход позволяет отделить логику обработки ошибок от бизнес-логики и обеспечить единообразный формат ответов при ошибках.