php json -api-client лучшие практики - PullRequest
0 голосов
/ 21 февраля 2020

Я занимаюсь разработкой приложения, которое имеет множество конечных точек API и php -client-lib для работы с ними. Библиотека создает DTO-объекты и передает их дальше. Что меня интересует, так это то, должен ли я ловить ошибки на стороне клиента или нет. Например:

  • требуемый ключ
  • несоответствие типа значения
  • неверное значение ключа (DateTime или регулярное выражение с плавающей точкой, которые являются строковыми, но должны быть преобразованы в спецификациях c объекты)

Я разрабатываю сервер и клиентские скрипты самостоятельно! Я убежден, что сервер возвращает определенный json, либо это ошибка. Стоит ли полагаться на это в клиентском коде?

Объект DTO достаточно хорошо защищает меня от ошибок типов, и я могу поймать исключение TypeError. Кроме того, я могу добавить проверки внутри конструктора DTO и проверить, например, что ключ 'count' больше нуля.

С другой стороны, зачем мне эти сообщения об ошибках внутри клиента? Сам пользователь ничего не может сделать с этой информацией, и единственный вариант использования, который я вижу, это отладка.

В настоящее время я реализовал проверку json -schema + DTO и показываю все ошибки на стороне клиента. Это круто, но чем больше конечных точек я добавляю, тем больше проверок (json -схема + преобразование ошибок в читаемый человеком формат) я получаю. Разве все это не бессмысленно?

Я ищу совет о передовой практике. Как мне построить клиент для получения надежного и расширяемого кода?

...