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
Пример кастомного класса исключений: