Я пытаюсь создать свой первый Api rest на основе весенней загрузки и пытаюсь понять, какие обычные практики используются для возврата 404 в случае, если ресурс не найден.
Прежде всего, я надеваюНе знаю, стоит ли мне рассматривать поиск ресурса как «исключительного события» или просто что-то, что обычно происходит, и мое приложение должно часто обрабатывать.
Большинство найденных мной решений предполагают использование аннотированного исключения, которое сообщаетобработчики для возврата 404 в случае, если ресурс не найден.
Например:
@ResponseStatus(value = HttpStatus.NOT_FOUND, reason = "Resource not found")
public class ResourceNotFoundException extends RuntimeException {
public ResourceNotFoundException() {
super();
}
public ResourceNotFoundException(String message, Throwable cause) {
super(message, cause);
}
public ResourceNotFoundException(String message) {
super(message);
}
public ResourceNotFoundException(Throwable cause) {
super(cause);
}
}
Теперь мне интересно, учитывая тот факт, что я использую простейшую структуру для своего кода:
- Контроллер
- Сервис
- Хранилище
куда я должен его бросить?на уровне хранилища?или просто вернуть ноль и выдать исключение на уровне контроллера?это будет более эффективным или это просто плохая практика?