招摇说"not a valid parameter defenition"

Swagger says"not a valid parameter defenition"

我对 swagger 还很陌生,如果能提供一些好的学习资源指导,我将不胜感激。

我有一个正在整合的测试项目,我 运行 遇到了一些问题。

我收到一条错误消息,指出我的 "delete" 块中的 "parameters" 无效。从我在示例中看到的内容来看,我觉得还不错。但显然我错过了一些东西。有什么想法吗?

swagger: "2.0"

info:
  version: "2"
  title: My Title
  description: Provides services for vacation rentals site
  termsOfService: Private
  contact:
    name: My Name
    url: www.myurl.com
    email: my@email.address
  license:
    name: MIT
    url: http://opensource.org/licenses/MIT
schemes:
  - http
host: myurl.com
basePath: /api

paths: 
  /guestbook:
    get:
      summary: Gets some persons
      description: Returns a list containing all persons.
      responses:
        200:
          description: A list of posts
          schema:
            type: array
            items:
              required:
                - firstName
              properties:
                firstName:
                  type: string
                lastName:
                  type: string
                email:
                  type: string
                comment:
                  type: string
    post:
      summary: Adds a comment to the guestbook
      description: Adds a comment to the guestbook
      parameters:
        - name: firstname
          in: formData
          required: true
          type: string
        - name: lastname
          in: formData
          required: true
          type: string
        - name: email
          in: formData
          required: true
          type: string
        - name: comment
          in: formData
          required: true
          type: string

      responses:
        201:
          description: Shows a successful post
        '405':
          description: Invalid input
  /guestbook/{id}:
    get:
      summary: Gets a single post
      description: Returns a single post
      operationId: getPost
      parameters:
        - name: id
          in: path
          description: ID of pet to fetch
          required: true
          type: integer
          format: int64
      responses:
        200:
          description: A list of posts
          schema:
            type: array
            items:
              required:
                - firstName
              properties:
                id:
                  type: number
                firstName:
                  type: string
                lastName:
                  type: string
                email:
                  type: string
                comment:
                  type: string
    delete:
      summary: Removes a post
      description: Removes a post
      operationId: deletePost
      parameters:
        - name: id
          in: path
      responses:
        200:
          description: Post has been removed

您只需要在 delete /guestbook/{id} operation 中描述 id 参数,就像您在 get /guestbook/{id} 中所做的那样。

delete:
  summary: Removes a post
  description: Removes a post
  operationId: deletePost
  parameters:
    - name: id
      in: path
      description: ID of pet to fetch
      required: true
      type: integer
      format: int64
  responses:
    200:
      description: Post has been removed

您也可以为路径/guestbook/{id}:

的所有操作定义一次该参数
/guestbook/{id}:
  parameters:
    - name: id
      in: path
      description: ID of pet to fetch
      required: true
      type: integer
      format: int64
  get:
    summary: Gets a single post
    description: Returns a single post
    operationId: getPost
    responses:
      200:
        description: A list of posts
        schema:
          type: array
          items:
            required:
              - firstName
            properties:
              id:
                type: number
              firstName:
                type: string
              lastName:
                type: string
              email:
                type: string
              comment:
                type: string
  delete:
    summary: Removes a post
    description: Removes a post
    operationId: deletePost
    responses:
      200:
        description: Post has been removed

如果你需要学习如何编写 OpenAPI (fka.Swagger) 规范文件,你可以阅读我的 Writing OpenAPI/Swagger Specification Tutorial