Дизайн API веб-сервиса - проверка ввода и ответ об ошибке? - PullRequest
2 голосов
/ 01 января 2011

Это может быть глупый вопрос, как вы обычно реагируете на ошибки?

  1. Ответ с одной ошибкой за раз или
  2. Ответ с несколькими ошибками за раз, в записи списка

Пример

  • Неверный формат адреса электронной почты
  • Неверный формат номера телефона
  • Неверный пароль .etc ...
  • Неверные учетные данные API

и т. Д.

Ответы [ 2 ]

2 голосов
/ 01 января 2011

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

Я исправлю это, чтобы отделить вопросы аутентификации / авторизации от проверки данных. Они не должны быть вместе - нет смысла смотреть на какие-либо данные, если лицо, отправляющее запрос, не аутентифицировано и не авторизовано.

0 голосов
/ 01 января 2011

Сначала кое-что об исключениях.

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

Exception когда происходит (я имею в виду необработанные исключения, конечно), больше исключений не может быть, поэтому вы должны вернуть первое и единственное необработанное исключение с соответствующей информацией (событиеargs).

Хорошей идеей является проектирование Exception Schema.Описать исключение и его информацию в одном сообщении в соответствии с вашей схемой исключения и вернуть его пользователю.

...