import {Meta} from '@storybook/addon-docs/blocks'

<Meta title='@dxtmisha/ru/functional-basic/Classes/ApiErrorItem - Экземпляр ошибки'/>

# Класс ApiErrorItem

Класс `ApiErrorItem` является **оберткой данных для ответов об ошибках API**. Он инкапсулирует контекст запроса (метод, ответ) и идентифицированные критерии ошибки из хранилища, предоставляя единый интерфейс для извлечения деталей ошибки.

## Ключевые особенности

- **Инкапсуляция данных** — хранит полный контекст сбоя API, включая сырой объект `Response` от Fetch.
- **Единое извлечение** — обеспечивает последовательный доступ к кодам и сообщениям об ошибках, независимо от того, были ли они получены из тела ответа или из предварительно определенных критериев хранилища.
- **Динамические сообщения** — разрешает сообщения об ошибках, используя статические строки или динамические функции-фабрики на основе ответа.

## Методы

### Аксессоры

- `getMethod(): ApiMethodItem` — Возвращает HTTP-метод, использованный для запроса.
- `getResponse(): Response` — Возвращает сырой объект ответа Fetch.
- `getError(): ApiErrorStorageItem` — Возвращает идентифицированные критерии ошибки из хранилища.
- `getStatus(): number` — Возвращает код статуса HTTP.

### Извлечение данных

- `getCode(): string | undefined` — Получает код ошибки из критериев хранилища.
- `getMessage(): string | undefined` — Разрешает сообщение об ошибке (проверяет критерии хранилища или использует значения по умолчанию из ответа).

## Архитектура

`ApiErrorItem` обычно создается фабрикой `ApiError.getItem()`. Он служит конечным продуктом фазы анализа ошибок, готовым к использованию компонентами UI или сервисами логирования.
