Должен ли я предотвращать вызовы API, которые, как я знаю, будут неудачными?

Должен ли я предотвращать вызовы API, которые, как я знаю, будут неудачными?
Должен ли я предотвращать вызовы API, которые, как я знаю, будут неудачными? - anj4li @ Unsplash

Я пишу веб-приложение, которое обслуживает пользователей с разными ролями и разрешениями. Одна из функций моего приложения требует вызова API к защищенной конечной точке. Если у пользователя нет правильных разрешений, конечная точка отвечает 403 Forbidden. В моем приложении неудачный вызов API не влияет на поведение внешнего интерфейса; ошибка восстанавливается так, как если бы ее никогда не было, за исключением неудачного запроса в инструментах разработчика браузера. Есть ли какая-то ценность в предотвращении вызова API в первую очередь путем проверки разрешений на стороне клиента и выполнения вызова API только в том случае, если существуют правильные разрешения?

Валидация на передней стороне (вводимых данных, а также учетных данных) связана с необходимостью дублировать логику валидации на передней и задней сторонах и поддерживать обе версии.

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

  • более быстрая обратная связь с пользователем о том, что он ввел неверные данные/не может выполнить данный этап рабочего процесса
  • сокращение используемой полосы пропускания

Если пропускная способность не имеет значения и (обычный) конечный пользователь не заметит, что запрос привел к результату 4xx, то предварительная проверка успешности или неуспешности запроса приведет только к затратам без выгоды.


LetsCodeIt, 28 декабря 2022 г., 14:21