当前位置: 首页 > 知识库问答 >
问题:

昂首阔步的OpenAPI使用带有模式的对象而不是数组

茅慈
2023-03-14

我正在使用DarkOnline中的L5 Swagger使用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个答案

程禄
2023-03-14

你可以做:

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

@oa\items注释仅在希望指定数组中的属性时使用(请参见Data Types:array)。

在您的示例中,您只想描述一个对象,因此只需在属性中引用对象的模式,并移除@oa\items

 类似资料:
  • 这不是springfox的故事,这是springdoc-openapi的故事。 我当前的依赖项 我的物业 此处请求(localhost:8080/swagger-ui.html)我的服务器响应swagger-petstore示例我已经知道petstore-disable(springdoc.swagger-ui.disable-swagger-default-url=true),但它不起作用 另一

  • 问题内容: 我想知道如何用昂扬的方式记录枚举。 根据JavaDoc 数据类型。请参阅文档以获取受支持的数据类型。如果数据类型是自定义对象,请设置其名称,或不设置任何名称。如果是枚举,请为枚举常量使用’string’和allowableValues。 但是我没有找到一些好的Java示例如何真正使用它,规范在这里。 第一服务 第二服务 输入项 天 输出量 pom.xml 您可以在此处查看结果。 我看到

  • 数据类型。有关支持的数据类型,请参见文档。如果数据类型是自定义对象,请设置它的名称,或者不设置任何名称。对于枚举,使用'string'和allowableValues作为枚举常量。 但是我没有找到一些好的Java示例如何真正使用它,规范在这里。 你可以在这里看到结果。 我认为是个问题... 你知道吗?

  • 问题内容: 我正在尝试使用swagger定义post端点,但是不允许使用该参数: 当我跑步时,我得到这个: 我的规格有什么问题? 问题答案: 您可能正在混合使用OpenAPI / Swagger 2.0和OpenAPI 3.0语法。您的规格似乎是2.0,但是关键字是3.0功能。在2.0中,请求正文被定义为正文参数: 更多信息:描述请求正文

  • 我试图用大摇大摆的方式来模拟REST API..我目前创建了nodejs项目,其中默认的js appreas是。/api/controllers/hello_world.js中的hello_world.js。 现在我想创建一个新的控制器,并将其引用到我的YAML,即来自SwaggerUI..我怎么做?任何链接都会很有用。

  • 我们正在为我们的Laravel REST API实现开发Swagger文档。几个POSTendpoint将使用CSV作为参数内容类型。 Swagger中是否有一种方法可以让“立即尝试”功能与CSV POST文件上传一起使用? 下面是我们的留档http://api.curvecompass.com/docs/#/ 我们的Laravel POST函数可以正确地与CSVendpoint一起工作,而不是与