Я сейчас пишу API / некоторые клиенты для шахматных игр.
Разработчики должны получить доступ к API через один скрипт (xhrframework.php) и отправить действия через GET. Возможно, что они делают некоторые ошибки, когда отправляют действия (нет PHPSESSID, нет действительного PHPSESSID, перемещение не было действительным, это не их очередь, ...).
Так что я подумал о возможности отображения ошибок. Я придумал несколько идей, как сообщить программисту, что он допустил ошибку:
- через сообщение об ошибке на чистом английском языке
- +: Понятно, что должна означать ошибка
- +: можно добавить информацию, как исправить эту ошибку
- -: сообщение может измениться, так как мой английский не очень хорош
- -: длина сообщения сильно отличается - это может быть важно для программистов на C
- через константу сообщения об ошибке на английском языке - что-то вроде WRONG_PHPSESSID, MISSING_PHPSESSID, INVALID_MOVE, NOT_YOUR_TURN, ...
- +: это понятно человеку
- 0: почти наверняка сообщение не изменится
- -: длина сообщения может немного отличаться
- через код ошибки с одной таблицей в документации, где программист может найти значение кода ошибки
- +: код ошибки будет постоянным
- +: длина каждого кода ошибки может быть одинаковой
- -: это загадочно
Я думаю, что третье решение может быть хорошей идеей, так как xhrframework.php должен быть доступен только программисту, который, возможно, уже взглянул на документацию API.
Теперь я хотел бы знать, существует ли стандарт для сообщений об ошибках Web-API. Как другие (например, Google Maps API) решили эту проблему? Должен ли я просто выводить пустую страницу с содержанием «ОШИБКА: 004» или без заполнения «ОШИБКА: 4»?
Какие ошибки должны получать какие числа? Имеет ли смысл группировать ошибки по их номерам, например, все ошибки, начинающиеся с 1, были ошибками аутентификации, все ошибки с двумя ошибками игровой логики? Было бы лучше начать с ошибки 1 и использовать каждый номер?
API Карт Google
Если я сделаю неправильный вызов для JS-API Карт Google, он вернет Java-Script с сообщением на понятном немецком языке (как я думаю, я живу в Германии).
Google Static Maps API возвращает сообщение в виде текста на чистом английском языке, если я совершаю неправильный вызов .