@Swagger \ Annotations \ Example "не существует ошибки

Я использую Swagger v.2 с PHP-аннотациями, и сейчас я столкнулся с небольшой проблемой с «Примеры» в теле запроса.

В моем контроллере это выглядит так:

/**
     * @SWG\Post(
     *   tags={"pet"},
     *   path="/pet",
     *   summary="Create a pet",
     *   description="Create a pet",
     *   operationId="CreatePet",
     *   consumes={"application/json"},
     *   produces={"application/json"},
     *   @SWG\Parameter(
     *       name="pet",
     *           required=true,
     *           in="body",
     *           description="Pet object to be created",
     *       @SWG\Schema(
     *           @SWG\Property(property="pet",ref="#/definitions/Pet")
     *       ),
     *        @SWG\Example(
     *          ref="somepath/pet.json"
     *      )
     *   )

Мне нужны разные примеры схем в зависимости от определенных условий, и именно поэтому я хочу, чтобы примеры схемы были указаны в отдельном файле json, на который можно было бы ссылаться таким образом. Я получил эту идею из этой ссылки.

Однако это не работает, и я получаю The annotation "@Swagger\Annotations\Example" doesn't exist ошибку. Если кто-нибудь знает, как это должно быть исправлено с помощью аннотаций, любая помощь будет оценена.

Спасибо


person CannotCode    schedule 16.11.2017    source источник
comment
К вашему сведению - спецификация, с которой вы связались, - это OpenAPI 3.0, а не OpenAPI / Swagger 2.0 (который вы используете). OpenAPI / Swagger 2.0 требует встроенных примеров, он не поддерживает примеры схем в отдельных файлах.   -  person Helen    schedule 10.03.2018


Ответы (1)


Вы можете попробовать это.

    /**
     * @SWG\Post(
     *   tags={"pet"},
     *   path="/pet",
     *   summary="Create a pet",
     *   description="Create a pet",
     *   operationId="CreatePet",
     *   consumes={"application/json"},
     *   produces={"application/json"},
     *   @SWG\Parameter(
     *       name="pet",
     *           required=true,
     *           in="body",
     *           description="Pet object to be created",
     *       @SWG\Schema(
     *           @SWG\Property(property="pet",ref="#/definitions/Pet")
     *       ),
     *        example={
     *            "data": {
     *            "api_token": "ffdca087b7f97117330824ceea948a99",
     *            "id": "1",
     *            "email": "[email protected]",
     *            "first_name": "Joe",
     *            "last_name": "Doe"
     *            }
     *        }
     *   )
person Pratik Mehta    schedule 03.03.2018
comment
[INFO] Пример неожиданного поля для @SWG \ Parameter (name = pet, in = body), ожидающий ref, параметр, name, in, description, required, schema, type, format, allowEmptyValue, items, collectionFormat, default, maximum, ExclusiveMaximum, minimum, exclusiveMinimum, maxLength, minLength, pattern, maxItems, minItems, uniqueItems, enum, multipleOf, x в src / info.php в строке 35 [ПРЕДУПРЕЖДЕНИЕ] [Синтаксическая ошибка] Ожидаемая Doctrine \ Common \ Annotations \ DocLexer :: T_CLESISE_PARENT :: T_CLOSE_PARENT , получил конец строки в src / info.php в строке 35. - person flik; 01.11.2018