Я использую 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"
* ),