1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/deepziyu-yii2-fast-api

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

yii2-fast-api

yii2-fast-api — это расширение для Yii2, которое позволяет настроить его и ускорить разработку API.

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

Установка

Использование Composer для установки

  1. Добавьте зависимость в файл composer.json в проекте:
"require": {
    "deepziyu/yii-fast-api": "*"
}
  1. Выполните команду $ php composer.phar update или $ composer update, чтобы установить расширение.

  2. Внедрите конфигурацию fast-api в конфигурационный файл (main.php для расширенной версии Yii2 и web.php для базовой версии):

// $config — ваша исходная конфигурация
$config = yii\helpers\ArrayHelper::merge(
    $config,
    \deepziyu\yii\rest\Controller::getConfig()
);

return $config;

Использование

  1. Создайте контроллер:
class YourController extends deepziyu\yii\rest\Controller
{
    /**
     * Пример интерфейса
     * @param int $id — параметр запроса
     * @return string — версия API
     * @return int yourId — ваш параметр запроса
     */
    public function actionIndex($id)
    {
        return ['version'=>'1.0.0','yourId'=>$id];
    }
}
  1. Отправьте запрос и проверьте результат:
  • Нормальный запрос:
POST /your/index HTTP/1.1
Host: yoursite.com
Content-Type: application/json

{"id":"10"}

Ответ:

{
    "code": 200,
    "data": {
        "version": "1.0.0",
        "yourId": "10"
    },
    "message": "OK"
}
  • Запрос с отсутствующим параметром:
POST /your/index HTTP/1.1
Host: yoursite.com
Content-Type: application/json

Ответ об ошибке:

{
    "code": 400,
    "data": {},
    "message": "Отсутствует параметр: id"
}
  1. Просмотрите автоматически сгенерированный документ API по адресу:

http://yoursite.com/route/api/index

Заключение

Спасибо проекту PhalApi от @暗夜在火星 за предоставленную идею для этого расширения Yii2.

Задачи

  • Улучшение документации.
  • Плагин для фильтрации сигнатур.
  • Использование плагина для ограничения скорости.
  • Реализация рекомендаций по использованию RequestID и хранению журналов.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
BSD-3-Clause
Отмена

Обновления (1)

все

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/deepziyu-yii2-fast-api.git
git@api.gitlife.ru:oschina-mirror/deepziyu-yii2-fast-api.git
oschina-mirror
deepziyu-yii2-fast-api
deepziyu-yii2-fast-api
master