@vi0

В поле какого типа передавать на фронтенд расшифровку статуса: строка или enum?

Есть api которое возвращает на фронтэнд модель с полем status.
enum Status {
    ERROR,
    SUCCESS
}

Требуется отобразить пользователю причину ошибки или детали успешного завершения на русском языке.

1. Стоит ли передавать это сообщение как есть с бэканда в строковом поле?
Структура:
{
    id: int
    status: Status
    statusDescription: string
}

Пример:
{
    id: 210,
    status: "ERROR",
    statusDescription: "Товар не найден"
}


2. Или же правильнее передать enum, а на фронтенде уже будет сформировать сообщение?
Структура:
{
    id: int
    status: Status
    statusDescription: StatusDescription
}

enum StatusDescription {
    PRODUCT_NOT_FOUND,
    CUSTOMER_NOT_FOUND
}

Пример:
{
    id: 210,
    status: "ERROR",
    statusDescription:  "PRODUCT_NOT_FOUND"
}
  • Вопрос задан
  • 18 просмотров
Пригласить эксперта
Ответы на вопрос 2
yarkov
@yarkov
Помог ответ? Отметь решением.
Я за первый вариант
Ответ написан
Комментировать
Aetae
@Aetae
Тлен
Делают как на душу положит.
Но по-хорошему надо исходить из того, чтобы минимизировать переплетённость и дублирование кода. Т.е. всё что может отдать бэк текстом - должен отдавать текстом, чтоб при каких-либо изменениях менять надо было только в одном месте - на бэке. Остальное, дублирование чего не избежать(к чему привязывается дополнительная логика на фронте, типа Status) - то минимизировать, задокументировать и ограничить возможность изменений.:)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы