Download the PHP package kodicms/laravel-api without Composer
On this page you can find all versions of the php package kodicms/laravel-api. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package laravel-api
Laravel Framework REST API
Пакет разработан для удобства работы с API запросами. На данный момент этот модуль предоставляет всего лишь контроллер, с набором методов, которые помогут организовать работу с AJAX запросами.
Установка
Добавить фасад в алиасы
'RouteAPI' => KodiCMS\API\RouteApiFacade::class,
Внести изменения в файл app\Exceptions\Handler.php
Описание
Контроллер
Контроллер необходимо наследовать от KodiCMS\API\Http\Controllers\Controller, после чего он начнет возвращать
все ответы (ошибки и т.д.) в определенном формате с возможностью выбора типа ответа (json, xml, yaml):
Пример ответа:
{
code: 200,
content: '....',
type: 'content',
method: '...'
}
Коды ответов:
200- ok110- не передан обязательный параметр в запросе120- ошибка валидации130- неизвестная ошибка140- ошибка токена150- попытка в модели установить значение защищенного поля220- ошибка прав доступа403- неавторизован404- страница не найдена
Тип ответа
error- ошибкаcontent- ответredirect- редирект
Пример ответов с различным кодом в json формате
Полезные методы
getParameter($key, $default = NULL, $isRequired = false)- получение параметра переданного в запросеgetRequiredParameter($key, $rules = true)- получение обязательного параметра, Вторым параметром можно указать правила валидации (true == 'required'), выбрасывает ошибку 110setMessage($message)- передача сообщения в ответsetErrors(array $errors)- передача ошибок в ответ-
setContent($data)- передача данных в ответ. Если передаетсяview, то он будет преобразован в HTMLПолезные параметры
jsonResponse- данные, которые будут переданы в ответ и преобразованы в JSONrequiredFields- ожидаемые поля в виде['action' => ['param1, 'param2']]
Роутер
Для модуля API создан фассад RouteAPI который используется для добавления API роутов, который автоматически
добавляет к новому маршруту возможность выбора типа ответа json, xml, yaml.
API запрос можно выполнить следующим образом:
- site.com/api.refresh.key =>
json, - site.com/api.refresh.key.json =>
json, - site.com/api.refresh.key.xml =>
xml, - site.com/api.refresh.key.yaml =>
yaml
Пример
Пример контроллера с возвращением данных
Пример контроллера с возвратом данных в произвольной форме
Пример контроллера с редиректом
Пример контроллера с выводом HTML
Исключения
API модуль имеет свой класс исключений KodiCMS\API\Exceptions\Exception от которого лучше всего наследовать
исключения, которые используются в API контроллерах. Данный класс содержит метод responseArray, в котором содержится
список параметров, которые попадут в Response
Пример кастомного класса исключений: