Проверяйте currency по явному набору поддерживаемых кодов и возвращайте понятную ошибку валидации. Не заменяйте неизвестное значение на RUB молча.
Как улучшить обработку параметра currency, если клиент передаст неизвестное значение, например опечатку вместо RUB?
Проверяйте currency по явному набору поддерживаемых кодов и возвращайте понятную ошибку валидации. Не заменяйте неизвестное значение на RUB молча.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Проверяйте currency по явному набору поддерживаемых кодов и возвращайте понятную ошибку валидации. Не заменяйте неизвестное значение на RUB молча.
Например, {"code":"unsupported_currency","field":"currency","allowed":["RUB","USD"]} с согласованным HTTP 400/422. Нормализацию регистра и пробелов выполняйте только если это разрешено контрактом. Поддержка ISO-кода библиотекой не означает, что ваш сервис умеет проводить операции в этой валюте: нужен бизнес-allowlist. Ошибку парсинга enum перехватывайте на границе API, не превращая опечатку пользователя в 500. Значение должно проверяться до расчёта или создания операции.