Swagger 错误 - 描述:"Not a valid parameter definition"

Swagger Error - description: "Not a valid parameter definition"

我正在尝试为休息定义一个简单的 swagger 定义 api。我的所有参数部分都出现错误。

我在 swagger 编辑器中遇到 swagger 定义错误,我不知道我错了什么。请指教

Swagger 定义:

paths:
'/customer/{customerId}/accountlist':
get:
  responses:
    '200':
      description: ''
  parameters:
    - name: customerId
      in: path
      allowMultiple: false
      required: true
      type: string
  x-auth-type: None
  x-throttling-tier: Unlimited
  produces:
    - application/json
  x-scope: InternalUse
  swagger: '2.0'
  info:
  title: Sample
  description: API for Sample

Swagger 错误:

Swagger Error
Not a valid parameter definition
Jump to line 7
Details
Object
code:  "ONE_OF_MISSING"
params: Array [0]
message:  "Not a valid parameter definition"
path: Array [5]
0:  "paths"
1:  "/customer/{customerId}/accountlist"
2:  "get"
3:  "parameters"
4:  "0"
schemaId:  "http://swagger.io/v2/schema.json#"
inner: Array [2]
0: Object
code:  "ONE_OF_MISSING"
params: Array [0]
message:  "Data does not match any schemas from 'oneOf'"
path: Array [5]
0:  "paths"
1:  "/customer/{customerId}/accountlist"
2:  "get"
3:  "parameters"
4:  "0"
inner: Array [2]
0: Object
code:  "OBJECT_MISSING_REQUIRED_PROPERTY"
params: Array [1]
0:  "schema"
message:  "Missing required property: schema"
path: Array [0]
1: Object
code:  "ONE_OF_MISSING"
params: Array [0]
message:  "Data does not match any schemas from 'oneOf'"
path: Array [0]
inner: Array [4]
1: Object
code:  "OBJECT_MISSING_REQUIRED_PROPERTY"
params: Array [1]
0:  "$ref"
message:  "Missing required property: $ref"
path: Array [5]
0:  "paths"
1:  "/customer/{customerId}/accountlist"
2:  "get"
3:  "parameters"
4:  "0"
level: 900
type:  "Swagger Error"
description:  "Not a valid parameter definition"
lineNumber: 7

我重写了您的 OpenAPI 规范。此版本有效:

swagger: '2.0'

info:
  title: Sample
  version: 1.0.0
  description: API for Sample

paths:
  '/customer/{customerId}/accountlist':
    get:
      responses:
        '200':
          description: ''
      parameters:
        - name: customerId
          in: path
          required: true
          type: string
      x-auth-type: None
      x-throttling-tier: Unlimited
      produces:
        - application/json
      x-scope: InternalUse

对您的原始版本的一些评论:

  • 缩进不好。例如,get: 行需要从前一行缩进。但也许这只是一个复制和粘贴问题。

  • info 对象需要 version 属性。

  • customerId 参数包含一个 allowMultiple 属性。在删除该错误之前,我一直看到错误。