Intereting Posts
Как я могу проверить покупку Google в приложении в php? PHP Использовать имя переменной в foreach после установки значения Отправка данных с PHP на Java-приложение php intval () и floor () возвращаемое значение слишком низкое? Удалить строку из связанного объекта во многих отношениях во многих отношениях в Doctrine2 Папка PHP Sessions: обновите продукт, если он уже является идентификатором сеанса Доступ к нескольким иностранным полям в виртуальном поле? Как отправить сообщение на другой сайт и получить результат без перенаправления Сортировка вывода строки SQL в произвольном порядке? Шифрование с использованием AES-128 в Java PHP – Строка поиска для определенного массива слов и совпадение с необязательным + или – Symfony – аннотация никогда не была импортирована PHP извлекает массив в переменные zf создать профайл проекта имя файла профиля-профиля Как удалить проверку клиента для полей, если флажок снят с отметки

Luracast Restler 3 регистрация на реселлере

Последующие вопросы для этого решения: https://stackoverflow.com/a/31883204/3548238

  1. Если я хочу зарегистрировать запрос в событии onRespond (), как я могу получить доступ к коду состояния? Например: если запрос отвечает кодом состояния 200, я бы хотел записать «success = 1», и если это что-то еще, то «success = 0»,
  2. Могу ли я каким-либо образом получить доступ к сообщению, если мой API выдает исключение с «throw new RestException (404,« Example not found »); или если auth не удалось или что-то еще.
  3. Могу ли я / как я могу сделать некоторые из запросов, чтобы они не были зарегистрированы в какой-либо ситуации? Я знаю, что я должен создать для него какую-то аннотацию, но: как?

Например, что-то вроде этого:

/** * * @status 200 * * @description Get all logs * @url GET logs * @access protected * @class AccessControl {@requires admin} * * @log false * * @throws RestException */ public function list_all_logs() { ... ... 

Вы должны использовать onComplete вместо onRespond

Зачем?

  • onRespond() – уволен перед отправкой ответа
  • onComplete() – уволен после отправки ответа

Вот полное решение, которое отвечает на все ваши вопросы, предполагая, что вы добавляете @log false комментарий @log false к методу api, который вы хотите исключить

 use Luracast\Restler\Restler; use Luracast\Restler\User; $r = new Restler(); $r->onComplete(function () use ($r) { if ( !isset($r->apiMethodInfo->metadata['log']) || $r->apiMethodInfo->metadata['log'] == 'true' ) { $success = $r->responseCode == 200; $info = array( 'success' => $success, 'message' => $success ? '' : $r->exception->getErrorMessage() ); print_r($info); //your logging function here! } }); $r->addAPIClass('Say'); $r->handle();