【问题标题】:How do I define reusable link in swagger correctly?如何正确定义 swagger 中的可重用链接?
【发布时间】:2018-11-12 22:45:51
【问题描述】:

我在 Open API 3.0.0 中使用 swagger

以下是我的 Api 定义:

paths:
  /offerers:
    get:
      summary: give all offerers back
      operationId: allOfferers
      description: give you all offerers back
      responses:
        '200':
          description: oferers results
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OfferersId'
          links:
            GetSingleOffererById:
              $ref: '#/components/links/GetSingleOffererById'
        '400':
          description: something went terribly wrong
  /offerers/{offererId}:
    parameters:
      - in: path
        name: offererId
        schema:
          $ref: '#/components/schemas/OfferersId'
        required: true
    get: 
      parameters:
        - $ref: '#/components/schemas/OfferersId'
      summary: give one specified offerer back
      operationId: singleOfferer
      description: give one offerer back. Specified by its id
      responses:
        '200':
          description: offerers results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Offerers'
        '400':
          description: something went terribly wrong

components:
  schemas:
    OfferersId:
      type: number
      example: 123
    Offerers:
      type: object
      required:
        - offererId
        - name
      properties:
        id:
          $ref: '#/components/schemas/OfferersId'
        name: 
          type: string
          example: "Mark Mustermann"
        location:
          type: string
          example: "90449 Nürnberg"
        experience:
          type: string
          example: "8 Jahre"
        openingHours:
          type: string
          example: "Werktags: 10:15-18:30/tWochenende: geschlossen."

  links:
    GetSingleOffererById:
      operationId: singleOfferer
      description: the offererId in the response will be used as offererId in the request
      paramters:
        offererId: $reponse.body#/OfferersId

这个定义的大部分内容是没有错误的。但是最后一部分组件/链接在“operationId:singleOfferer”行给了我一个错误:

不应该有额外的属性 additionalProperty: operationId, 参数

所以我的问题: 如何更正我的定义,以使可重用链接有效?

【问题讨论】:

  • 错字:paraMTers -> paraMETers
  • # facepalm # 谢谢!!!如何奖励评论?

标签: hyperlink swagger openapi


【解决方案1】:

Swagger 编辑器中的“不应有其他属性”错误通常表示以下情况之一:

  1. 关键字拼写错误,
  2. 语法/结构不正确。

在您的示例中,它是 (1) - paraMTers 应该是 paraMETers

【讨论】:

    猜你喜欢
    • 2018-11-13
    • 2018-04-17
    • 1970-01-01
    • 2020-08-09
    • 2020-03-05
    • 2014-02-01
    • 1970-01-01
    • 2011-07-09
    • 2023-03-16
    相关资源
    最近更新 更多