Swagger UI не работает в интеграции swarager-php моего laravel - PullRequest
0 голосов
/ 25 января 2019

Я новичок в 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, которые я упоминал в файле контроллера, без какого-либо надлежащего пользовательского интерфейса.

...