web-dev-qa-db-ja.com

Swaggerエディターは、パスパラメーターに対して「スキーマエラー:追加のプロパティを使用しないでください」エラーを表示します

http://editor.swagger.io を使用してAPIを設計していますが、対処方法がわからないエラーが表示されます。

Schema error at paths['/employees/{employeeId}/roles'].get.parameters[0]
should NOT have additional properties
additionalProperty: type, format, name, in, description
Jump to line 24

同様の方法で定義された他のエンドポイントがありますが、このエラーは発生しません。インデントや閉じられていない引用符に問題があるのではないかと思ったが、そうではないようだ。 Googleも有用な結果を提供していないようです。

swagger: "2.0"
info:
  description: Initial draft of the API specification
  version: '1.0'
  title: App 4.0 API
Host: api.com
basePath: /v1
tags:
  - name: employees
    description: Employee management
schemes:
  - https
paths:
  /employees/{employeeId}/roles:
    get:
      tags:
        - employees
      summary: "Get a specific employee's roles"
      description: ''
      operationId: findEmployeeRoles
      produces:
        - application/json
      parameters:
        - name: employeeId   <====== Line 24
          in: path
          description: Id of employee whose roles we are fetching
          type: integer
          format: int64
      responses:
        '200':
          description: successful operation
          schema:
            type: array
            items:
              $ref: '#/definitions/Role'
        '403':
          description: No permission to see employee roles
        '404':
          description: EmployeeId not found

ヒントはありますか?

22
Emanuel Ey

エラーメッセージは誤解を招くものです。実際のエラーは、パスパラメーターにrequired: trueがないことです。パスパラメータは常に必要なので、required: trueを必ず追加してください。

28
Helen

Helen required: trueで述べられているように、type:DataTypeもそうであるように、構文には2つのパラメーターが必要になる場合があります。エラーは誤解を招くものです。

0
Akhil Sharma