Настройка маршрута Swagger UI - PullRequest
0 голосов
/ 06 июня 2019

Я хочу использовать swagger для документирования API laravel и заставить пользователей просматривать приложение, используя аналогичный маршрут к petstore.swagger.io

Это шаги, которые я предпринял, используя swagger-php & l5-swaggerпакеты

  1. композитор требует zircote / swagger-php
  2. композитор требует darkaonline / l5-swagger
  3. Добавлен L5Swagger\L5SwaggerServiceProvider::class, в файл config / app.php
  4. Добавлены аннотации к BookController
  5. Запустите команду php artisan l5-swagger:generate

Затем я добавил аннотации к BookController, например:

/**
 * @OA\Info(
 *      version="1.0.0",
 *      title="Laravel Test OpenApi",
 *      description="L5 Swagger OpenApi description",
 *      @OA\Contact(
 *          email="menadio1@gmail.com"
 *      ),
 *     @OA\License(
 *         name="Apache 2.0",
 *         url="http://www.apache.org/licenses/LICENSE-2.0.html"
 *     )
 * )
 */
/**
 *  @OA\Server(
 *      url=L5_SWAGGER_CONST_HOST,
 *      description="L5 Swagger OpenApi dynamic host server"
 *  )
 *
 *  @OA\Server(
*      url="https://projects.dev/api/v1",
 *      description="L5 Swagger OpenApi Server"
 * )
 */

class BookController extends Controller
{
    /**
     * @OA\Get(
     *      path="/books",
     *      operationId="getBooksList",
     *      tags={"Books"},
     *      summary="Get list of books",
     *      description="Returns list of books",
     *      @OA\Response(
     *          response=200,
     *          description="successful operation"
     *       ),
     *       @OA\Response(response=400, description="Bad request"),
     *     )
     *
     * Returns list of books
     */
    public function index()
    {
        return BookResource::collection(Book::all());
    }
}

На этом этапе я не надеваюне знаю, какой URL использовать при загрузке пользовательского интерфейса Swagger для просмотра документации API.Это единственное, что сейчас удерживает меня в задании на программирование, поэтому я немного отчаянно нуждаюсь в помощи.

Ответы [ 2 ]

0 голосов
/ 06 июня 2019

Фу ... Мне удалось загрузить пользовательский интерфейс Swagger и просмотреть документацию API, используя http://localhost:8000/api/documentation

Надеюсь, это сэкономит кому-то еще достаточно времени при первом использовании Swagger.

0 голосов
/ 06 июня 2019

Перейдите в корень вашего проекта и выполните эту команду, чтобы сгенерировать документы.

php artisan l5-swagger:generate   

Затем перейдите к http://yourapp.local/api/docs, чтобы просмотреть свой пользовательский интерфейс

...