webentwicklung-frage-antwort-db.com.de

Der Swagger-Editor zeigt den Fehler "Schemafehler: sollte KEINE zusätzlichen Eigenschaften haben" für einen Pfadparameter an

Ich benutze http://editor.swagger.io , um eine API zu entwerfen und erhalte eine Fehlermeldung, die ich nicht ansprechen kann:

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

Ich habe andere Endpunkte auf ähnliche Weise definiert und bekomme diesen Fehler nicht. Ich fragte mich, ob ich Probleme mit Einrückungen oder nicht geschlossenen Zitaten hatte, aber das scheint nicht der Fall zu sein. Google schien auch keine nützlichen Ergebnisse zu liefern.

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

Irgendwelche Hinweise?

18
Emanuel Ey

Die Fehlermeldung ist irreführend. Der tatsächliche Fehler ist, dass Ihr Pfadparameter required: true fehlt. Pfadparameter sind immer erforderlich. Denken Sie daran, ihnen required: true hinzuzufügen.

23
Helen

Die Syntax erfordert möglicherweise zwei Parameter, wie von Helen erwähnt required: true benötigt, also type:DataType. Der Fehler ist irreführend.

0
Akhil Sharma