Я новичок в PHP.Ранее я работал в NodeJS, Python и Java.Я попытался интегрировать zircote / swagger-php с помощью darkaonline / swagger-lume с моей инфраструктурой API lumen rest для генерации документов API.Я попробовал почти все шаги, упомянутые в этих двух документах.
Я использую Laravel Framework Lumen (5.4.7) (Laravel Components 5.4. *) И zricote / swagger-php verison 2.0 и darkaonline / swagger-lume version '~ 3.0'
Я попробовал эти шаги, упомянутые в документе darkaonline / swagger-lume,
Я настроил все необходимые строки в bootstrap / app.phpи опубликовал все те, кто использовал команду публикации swagger-lume.
Также композитору потребовался zircote / swagger-php
И я добавил несколько примеров аннотацийв моем контроллере файловые функции.
Затем я еще раз опубликовал все и запустил команду swagger-lume: generate.
Откройте загрузчик / приложение.php файл и раскомментируйте эту строку (около строки 26) в разделе «Создание приложения»: $ app-> withFacades ();
добавьте эту строку перед разделом «Регистрация привязок контейнера»:
$app->configure('swagger-lume');
добавить эту строку в раздел «Регистрация поставщиков услуг»ion:
$app->register(\SwaggerLume\ServiceProvider::class);
Запустите php artisan swagger-lume: publish-config для публикации настроек (config / swagger-lume.php). Запустите php artisan swagger-lume: publish
, чтобы опубликовать все
composer require 'zircote/swagger-php:3.*'
Мои примеры аннотаций будут выглядеть так:
/** @SWG\Get(
* path="/api/dashboard",
* description="Returns dashboard overview.",
* produces={"application/json"},
* tags={"dashboard"},
* @SWG\Response(
* response=200,
* description="Dashboard overview."
* ),
* @SWG\Response(
* response=401,
* description="Unauthorized action."
* )
* )
**/
php artisan swagger-lume:generate
Наконец я открыл, попытался нажать его, чтобы получить документы в браузере, как это.
Путь к пробной ссылке будет выглядеть так: http://localhost/xyzsapi/public/index.php/docs
Он показывает аннотации в формате json, которые я упоминал в файле контроллера, без какого-либо надлежащего пользовательского интерфейса.