Swagger OpenAPI使用具有架构而不是数组的对象

时间:2019-01-29 11:29:57

标签: swagger openapi swagger-php

我正在使用L5 Swagger中的DarkOnLine通过OpenApi示意图生成Swagger文档。

我可以使用模式

@OA\Property(property="certification", type="array", @OA\Items(ref="#/components/schemas/Certification"))

,它工作得很好,显示为

"certification": [
    {
      "certification_id": 0,
      "name": "string"
    }
  ],

。但是它创建了一个带有方括号的数组块,其中带有多个对象。

我如何使用相同的方法但丢失数组。

@OA\Property(property="certification", type="object", @OA\Items(ref="#/components/schemas/Certification")),

以便删除方括号并仅显示类似的对象。

"certification": {
      "certification_id": 0,
      "name": "string"
 }

1 个答案:

答案 0 :(得分:1)

您可以这样做:

@OA\Property(
  property="certification", 
  ref="#/components/schemas/Certification"
)

@OA\Items注释仅在您要指定数组内部的属性是什么时才使用(请参见Data Types: array)。

在您的情况下,您只想描述一个对象,因此只需在属性中引用该对象的架构并删除@OA\Items