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

OpenApi v3:附加属性错误与引用的架构

巢承安
2023-03-14

我想要的是在一个地方定义所有参数,并重用它,而无需再次编写它。我已经通过使用“allOf”得到了这一点,但这限制了“附加属性”的使用。

我的架构具有以下结构:

SchemaBase:
  type: object
  properties:
    foo:
      type: string

SchemaFull:
  allOf:
    - $ref: '#/components/schemas/SchemaBase'
    - type: object
      properties:
        bar:
          type: string

这是一个解决方案,但它不是我正在寻找的,因为这是针对属性的,而不是整个架构。

共有1个答案

易骁
2023-03-14
openapi: 3.0.1
info:
  title: OAS 3
  version: 1.0.0
tags:
- name: example
paths:
  /exe:
    post:
      requestBody:
        content:
          application/json:
            schema:
              additionalProperties: false
              allOf:
                - $ref: '#/components/schemas/SchemaBase'
                - type: object
                  properties:
                    bar:
                      type: string
      responses:
        200:
          description: Foo
          content: {}
components:
  schemas:
    SchemaBase:
      type: object
      properties:
        foo:
          type: string

你可以在这里看到和玩这个:https://editor.swagger.io/

映射的JSON模式:

{
  "additionalProperties": false,
  "allOf": [
    { "$ref": "#/definitions/SchemaBase" },
    {
      "type": "object",
      "properties": {
        "foo": {
          "type": "string"
        }
      }
    }
  ],
  "definitions": {
    "SchemaBase": {
      "type": "object",
      "properties": {
        "foo": {
          "type": "string"
        }
      }
    }
  }
}
 类似资料:
  • 我的办公自动化系统中有以下内容。yaml文件: 它不喜欢“description:”这句话:如果有内部异常,那么内部异常。如果我去掉这个,它就不喜欢“属性:”。我尝试了很多东西,但都不管用。我不明白什么?

  • 我试图隐藏状态栏,但决定不这样做,所以我做了一切,但这个问题存在。 错误:错误:(26)错误:“”与属性android:图标(attr)引用不兼容。 错误:(26)“”与属性android:图标(attr)引用不兼容。 错误:处理清单失败。 错误:java.util.concurrent.执行异常:java.util.concurrent.执行异常:com.android.tools.aapt2.

  • 本文向大家介绍wpf 附加的依赖项属性,包括了wpf 附加的依赖项属性的使用技巧和注意事项,需要的朋友参考一下 示例 何时使用 附加属性是一种依赖项属性,可以将其应用于任何属性,DependencyObject以增强了解该属性存在的各种控件或服务的行为。 附加属性的一些用例包括: 有一个父元素遍历其子元素并以某种方式作用于子元素。例如,Grid控制使用Grid.Row,Grid.Column,Gr

  • 在独立模式下,我可以通过指定文件在本地系统中的位置来解决这个问题。但是它在集群模式下不起作用,在集群模式下,我使用了一个带有spark-submit命令的jar。我如何在Spark中做到这一点?

  • 我正在开发一个Spring Boot服务,它受Key斗篷保护,并接受jwt承载令牌进行身份验证。 我还配置了swagger并将其注册为公共客户端,因此当我从swagger ui发出请求时,KeyClope会生成一个JWT令牌,然后swagger在向api发出请求时使用该令牌进行身份验证。 我还为用户信息创建了另外两个私有映射器。现在我想在我的spring控制器中获得这两个属性。 我觉得有点迷失在S

  • 我有一个Java类,它使用datastax cassandra驱动程序将pojo写入cassandra表。一切都很好,直到不得不向cassandra表写入一个类对象。它抛出以下错误: 由:com.datastax.driver.core.exceptions.codecNotFoundException引起:未找到请求操作的编解码器:[Frosted <->code.generic.common.