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

Swagger错误-描述:“不是有效的参数定义”

郑富
2023-03-14

我正在尝试为rest api定义一个简单的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 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

共有1个答案

皇甫礼骞
2023-03-14

我重写了您的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属性。

    CusterId参数包含一个允许多个属性。我看到一个错误,直到我删除它。

  •  类似资料:
    • Swagger没有为这个查询参数提供有效的参数定义。如果我删除路径和参数定义中对用户名的所有引用,则不会出现任何问题。 根据Swagger规范,我相信我使用了正确的查询参数,但不知何故它不是。

    • 这是我的输入: 它说: 详细资料 我到底做错了什么?

    • 我正在尝试大摇大摆地记录我的 API,该 API 由泽西Spring 2.22.2 与Spring 4.3 和杰克逊 2.22.2 组成。 我使用的swagger软件包是: endpoint声明之一: 这就是此endpoint生成的 JSON 的样子: 当我试图在swagger编辑器中解析这个输出时,它会返回错误,我认为原因可能是在“paramas”name参数中,它创建了它的对象类型而不是模式。

    • 我面临的问题与我的招摇文件: 这是我的问题: ✖Swagger Error非有效参数定义跳转到第20行详细信息目标代码:ONE_OF_MISSING参数:数组[0]消息:非有效参数定义路径:数组[5] 0:路径1:/货币/{当前ID} 2:获取3:参数4:0模式ID:http://swagger.io/v2/schema.json#内部:数组[2]级别:900类型:Swagger Error描述:

    • 我通过compojure-api使用ring-swagger。我有几个查询参数,我正在努力寻找一种方法来向单个查询参数添加描述。我可以添加整个endpoint的摘要,但这还不够。 是否可以使用ing-swagger/compojure-api向单个查询参数添加swagger描述?

    • 我正在尝试将我的实时数据库内容复制到fiRecovery。但是当我使用set函数时,我遇到了这个错误。 错误日志 错误:参数“options”不是有效的SetOptions。输入不是对象。在出口方面。(匿名函数)(/user_code/node_modules/firebase admin/node_modules/@google cloud/firestore/src/validate.js:8