J'utilise http://editor.swagger.io pour concevoir une API et j'obtiens une erreur que je ne sais pas comment résoudre:
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
J'ai d'autres points de terminaison définis d'une manière similaire, et je ne reçois pas cette erreur. Je me demandais si j'avais un problème avec l'indentation ou les citations non fermées, mais cela ne semble pas être le cas. Google n'a pas non plus semblé fournir de résultats utiles.
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
Des indices?
Le message d'erreur est trompeur. L'erreur réelle est que votre paramètre de chemin est manquant required: true
. Les paramètres de chemin sont toujours nécessaires, donc n'oubliez pas de leur ajouter required: true
.
La syntaxe nécessite peut nécessiter deux paramètres, comme le mentionne Helen required: true
si besoin est, de même que type:DataType
. L'erreur est trompeuse.