Swagger注释和OpenAPI v3.0中“生产”的注释是什么?

时间:2019-03-25 20:09:13

标签: php swagger swagger-php

在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上,我找不到如何注释文档中的 produces 的内容,它指出它现在是响应@OA\Response的属性,但是我可以找不到一个示例,我已经尝试过仅将"content" = "application/json"放进去,但这是行不通的。

1 个答案:

答案 0 :(得分:3)

您为每个@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的条目。

请参阅完整示例here