Как мне обработать отсутствующие свойства в ответе API от бэкэнда?
У меня есть приложение React, и я получаю некоторые данные из бэкэнда.Затем я использую эти данные для визуализации некоторых элементов, а также для обработки некоторых действий на основе значений в этом ответе.Но может случиться так, что некоторые значения отсутствуют.Тогда я должен всегда проверять ответы API таким образом, чтобы он присваивал значения по умолчанию отсутствующим свойствам, таким как:
import { get } from 'lodash'
const { data } = await axios.get(...);
const dataForFrontend = {
id: get(data, 'id', 'N/A'),
name: get(data, 'name', 'N/A'),
lastName: get(data, 'lastName', 'N/A'),
email: {
address: get(data, 'email.address', 'N/A'),
active: get(data, 'email.active', false),
}
}
(если у data
не было поля email
, и я использовал его сразу же, тогда открытое приложениескорее всего, разрыв с «не может прочитать свойство address
из неопределенного».)
... или, может быть, я должен просто использовать data
сразу и предположить, что это действительно так, в противном случае это означало бы, что бэкэнд был сломан и путем назначениязначения по умолчанию. Я просто скрыл проблему (я имею в виду, что позже возникнет какая-то другая ошибка при попытке, например, умножить 100 на N/A
)?
Я хотел бы знать правильный подход кэто - подтвердить или предположить, что оно должно быть действительным?