Заголовки безопасности Symfony 4 NelmioApiDocBundle не установлены - PullRequest
1 голос
/ 26 марта 2019

Я использую Symfony 4 и NelmioApiDocBundle для API.

У меня есть настройка пакета и работа, но я пытаюсь требовать заголовок apiKey во всех конечных точкахпо умолчанию.

Я следовал документации, но не вижу заголовка TEST-KEY, когда я запускаю try it out в моем /api/docs - что я делаю неправильно?

nelmio_api_doc.yml

nelmio_api_doc:
    documentation:
        info:
            title: Test API
            description: Test API
            version: 1.0.0
        securityDefinitions:
            apiKey:
                type: apiKey
                description: 'My test authentication key'
                name: TEST-KEY
                in: header
        security:
            - apiKey: []
    areas:
        path_patterns:
            - ^/api(?!/doc$)

App \ Controller \ TestController.php

    /**
     * @Operation(
     *     tags={"Test API"},
     *     produces={"application/json"},
     *     summary="Get a list of all...",
     *     @SWG\Parameter(
     *         name="start",
     *         in="query",
     *         description="Offset...",
     *         required=false,
     *         type="integer",
     *         default="0"
     *     ),
     *     @SWG\Parameter(
     *         name="limit",
     *         in="query",
     *         description="Limit...",
     *         required=false,
     *         type="integer"
     *     ),
     *     @SWG\Response(
     *         response="200",
     *         description="Returned when successful"
     *     )
     * )
     *
     * @Security(name="apiKey")
     *
     * @param Request $request
     * @return JsonResponse
     */
    public function getTestAction(Request $request)
    {
        $start = $request->get('start');
        $limit = $request->get('limit');

        $data = [];

        return new JsonResponse($data, 200);
    }

Я тоже попробовал этот подход, но тоже не повезло:

    /**
     * @Operation(
     *     tags={"Test API"},
     *     produces={"application/json"},
     *     summary="Get a list of all...",
     *     security={
     *         {"apiKey"}
     *     },
     *     @SWG\Parameter(
     *         name="start",
     *         in="query",
     *         description="Offset...",
     *         required=false,
     *         type="integer",
     *         default="0"
     *     ),
...