【问题标题】:How to specify an example of two path template parts in OpenAPI / Swagger如何在 OpenAPI / Swagger 中指定两个路径模板部分的示例
【发布时间】:2021-08-11 20:42:43
【问题描述】:

给定一个包含两部分的路径模板,例如:

paths:
 /blah/{fooPart}-stuff-{barPart}:
    parameters:
      - in: path
        name: fooPart 
        description: foo part of this matrix ID
        required: true
        schema:
          type: string
      - in: path
        name: barPart
        description: bar part of this matrix ID
        required: true
        schema:
          type: string

我想提供一个示例列表。由于 fooPart 和 barPart 是相关的,我希望每个示例都有相关的数据元素。我想把它放在组件中

examples:
  Happy:
    summary: Happy path
    value:
      fooPart: red
      barPart: up
  Sad:
    summary: Sad path
    value:
      fooPart: up
      barPart: red

当我将引用作为示例列表添加到每个参数时,就像这样

      - in: path
        name: fooPart 
        description: foo part of this matrix ID
        required: true
        schema:
          type: string
        examples:
          happy:
            $ref: "#/components/example/Happy"
          sad:
            $ref: "#/components/example/Sad"

渲染的显示......足够了吗?错误的?没有帮助?这些示例不相关,指定为值的数组显示在每个参数as seen here 的框中。我知道,这我告诉它做的。有没有办法将所有示例捆绑在一起?还是我唯一的选择是我将提供的答案?呃。

【问题讨论】:

    标签: swagger openapi


    【解决方案1】:

    我假设唯一的选择是

    examples:
      HappyFoo:
        summary: Happy path
        value: red
      HappyBar:
        summary: Happy path
        value:  up
      SadFoo:
        summary: Sad path
        value:  red
      SadBar:
        summary: Sad path
        value: red
    
    

    每个参数只包含自己的值,如下所示:

        parameters:
          - in: path
            name: fooPart 
            description: foo part of this matrix ID
            required: true
            schema:
              type: string
            examples:
              Happy:
                $ref: "#/components/examples/HappyFoo"
              Sad:
                $ref: "#/components/examples/SadFoo"
    

    示例不相关,但至少框中的值是正确的as seen here

    【讨论】:

    • 没错。目前(从 OAS 3.1 开始),我们只能为单个参数指定示例,但不能为参数组合指定示例。这里有一个现有的功能请求:github.com/OAI/OpenAPI-Specification/issues/1673
    • 感谢您的指点并确认我的失望。
    猜你喜欢
    • 2022-01-16
    • 1970-01-01
    • 2017-05-15
    • 2017-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-22
    相关资源
    最近更新 更多