Exceptions - gro1vy/DeliverServiceAPI GitHub Wiki
Исключения, которые здесь описаны, необходимы для того, чтобы избавить от написания дополнительной логики в контроллерах для проверки возвращаемых значений из сервисов. Соответственно, когда в метод сервиса приходят неправильные данные, то он, в зависимости от типа ошибки в данных, создает соответствующее исключение, которое ловится в ExceptionHandlingMiddleware, и никаких дополнительных проверок нигде писать не нужно, все происходит в одном месте.
BadRequestException
Данное исключение унаследовано от Exception и не имеет каких-либо дополнительных полей. В его конструктор нужно передать сообщение, которое попадет клиенту в случае, если исключение будет создано. Используется во всех сервисах проекта. Про сервисы можно узнать информацию в вики в разделе Services. В ExceptionHandlingMiddleware эта ошибка возвращается клиенту с кодом 400 и сообщением указанным в исключении. Нужен, если пришли неверные данные.
NotFoundException
Данное исключение унаследовано от Exception и не имеет каких-либо дополнительных полей. В его конструктор нужно передать сообщение, которое попадет клиенту в случае, если исключение будет создано. Используется во всех сервисах проекта. Про сервисы можно узнать информацию в вики в разделе Services. В ExceptionHandlingMiddleware эта ошибка возвращается клиенту с кодом 404 и сообщением указанным в исключении. Нужен, если пришли данные, по которым не был найден нужный ответ.
ValidationProblemException
Данное исключение унаследовано от Exception и не имеет каких-либо дополнительных полей. В его конструктор нужно передать сообщение, которое попадет клиенту в случае, если исключение будет создано. Используется только в сервисе UserRepository, про который можно узнать в вики в разделе Services. В ExceptionHandlingMiddleware эта ошибка возвращается клиенту с кодом 400 и сообщением указанным в исключении. Нужен, если пришли неверные данные.