3

我想在我的 OpenAPI / Swagger 定义中表示 2 条路径:

  • /resourceA/{id} 其中 id 是一个整数
  • /resourceA/{name} 其中名称是一个字符串

两条路径导致相同的结果:检索 resourceA 实例但使用不同的主键。

使用以下 Swagger 定义:swagger: '2.0'

info:
  version: 1.0.0
  title: Template  API
  description: Template management

paths:
  /resourceA/{id}:
    get:
      parameters:
        - name: id
          in: path
          type: integer
          required: true
      responses:
        200:
          description: OK
  /resourceA/{name}:
    get:
      parameters:
        - name: name
          in: path
          type: string
          required: true
      responses:
        200:
          description: OK

这两个定义之间有很多重复,因为它们代表相同的端点,只是具有不同的路径参数名称/类型。

此外,swagger 编辑器对此定义不满意,我收到以下错误:

 Swagger Error
Equivalent path already exists: /resourceA/{name}
Jump to line 19
Details
 Object
code:  "EQUIVALENT_PATH"
message:  "Equivalent path already exists: /resourceA/{name}"
 path: Array [2]
level: 900
type:  "Swagger Error"
description:  "Equivalent path already exists: /resourceA/{name}"
lineNumber: 19

我如何表示这一点以将重复减少到最低限度?

4

0 回答 0