Какая аннотация для «Produces» в аннотациях Swagger и OpenAPI v3.0? - PullRequest
2 голосов
/ 25 марта 2019

В OpenAPI v2.0 и Swagger PHP аннотация для Produces была:

 /**
 * @SWG\Get(
 *      path="/posts",
 *      operationId="getPosts",
 *      tags={"Authentication"},
 *      produces="application/json"
 *      summary="Returns the posts",
 *      description="Returns the posts",
 *      @SWG\Response(
 *          response=200,
 *          description="Successful operation"
 *      ),
 * )
 */

Но в OpenAPI v3.0 и Swagger PHP я не могу найти, как аннотировать , производит в документации говорится, что теперь он является атрибутом ответа @OA\Response, но я не могу найти пример, который я уже пробовал просто поставить "content" = "application/json", но он не работает.

1 Ответ

3 голосов
/ 26 марта 2019

Вы определяете все возможные типы содержимого ответа для каждого @OA\Response.

например:.

     * @OA\Response(
     *         response=200,
     *         description="successful operation",
     *         @OA\JsonContent(
     *             type="array",
     *             @OA\Items(ref="#/components/schemas/Pet")
     *         ),
     *         @OA\XmlContent(
     *             type="array",
     *             @OA\Items(ref="#/components/schemas/Pet")
     *         )
     *     ),

Если ваша конечная точка генерирует только содержимое JSON, определите запись только для @OA\JsonContent.

См. Полный пример здесь .

...