Как использовать nelmio / api-doc-bundle без Symfony? - PullRequest
1 голос
/ 07 мая 2019

Мое веб-приложение не основано на Symfony или какой-либо другой среде с открытым исходным кодом.

Как мне по-прежнему использовать пакет nelmio / api-doc-bundle для генерации документации по API из аннотаций классов?

Ответы [ 2 ]

0 голосов
/ 07 мая 2019

Вы, конечно, можете потребовать в lib, но, поскольку это пакет Symfony, он будет содержать множество ненужных раздутий.

Почему бы не попробовать PHP Swagger? https://github.com/zircote/swagger-php

Вот тип вещей, которые вы можете сделать с ним:

/**
 *
 * @OA\Get(
 *     path="/oauth2/authorize",
 *     @OA\Response(response="200", description="An access token"),
 *     tags={"auth"},
 *     @OA\Parameter(
 *         name="response_type",
 *         in="query",
 *         type="string",
 *         description="the type of response",
 *         required=true,
 *         default="code"
 *     ),
 *     @OA\Parameter(
 *         name="client_id",
 *         in="query",
 *         type="string",
 *         description="the client identifier",
 *         required=true,
 *         default="testclient"
 *     ),
 *     @OA\Parameter(
 *         name="client_secret",
 *         in="query",
 *         type="string",
 *         description="the client identifier",
 *         required=false,
 *         default="testclient"
 *     ),
 *     @OA\Parameter(
 *         name="redirect_uri",
 *         in="query",
 *         type="string",
 *         description="where to send the response",
 *         required=false
 *     ),
 *     @OA\Parameter(
 *         name="state",
 *         in="query",
 *         type="string",
 *         description="with a CSRF token. This parameter is optional but highly recommended.",
 *         required=false,
 *     ),
 *     @OA\Parameter(
 *         name="scope",
 *         in="query",
 *         type="string",
 *         description="allowed scopes, space separated",
 *         required=false,
 *     )
 * )
 */
public function authorizeAction()
{
    // code
}

Вот демонстрация того, что генерирует Swagger UI: https://petstore.swagger.io/

0 голосов
/ 07 мая 2019

Пакет nelmio-api-doc сделан только для платформы Symfony, поэтому вы не можете использовать его без Symfony.

Если вы хотите использовать только документацию API, тогда https://swagger.io/swagger-ui/ может вам помочь.swagger предоставляет документацию на основе ymal и json (аннотации также являются частью symfony) и реализует большинство популярных рабочих платформ.

На самом деле пакет nelmio-api-doc использует swagger-ui в качестве поставщика документации API (в настройках конфигурацииhttps://github.com/nelmio/NelmioApiDocBundle)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...