Propriétés supplémentaires non autorisées: swagger nullable

J’utilise swagger 2.0 avec node.js express 4.12.3 et mysql db.

J’ai créé le schéma suivant –

Country: type: "object" properties: id: type: "integer" readOnly: true description: "Country Id" country: type: "ssortingng" description: "Country name" created_at: type: "ssortingng" readOnly: true format: "date-time" description: "Country record creation date" deleted_at: type: "ssortingng" format: "date-time" description: "Country record delete date" required: - country 

Ici, le champ delete_at sera nul et ne sera pas présent dans la firebase database tant que l’enregistrement n’est pas supprimé. Mon serveur nodejs express renvoie la date comme suit –

[{“id”: 4, “pays”: “g”, “created_at”: “2018-01-29T04: 51: 46.000Z”, “delete_at”: null}, {“id”: 5, “pays” : “gaaaf”, “created_at”: “2018-01-29T04: 54: 59.000Z”, “delete_at”: null}, {“id”: 6, “pays”: “abcd”, “created_at”: “2018 -01-29T04: 57: 02.000Z “,” delete_at “: null}]

Lorsque j’essaie de faire un appel au repos via swagger-ui, j’obtiens l’erreur suivante.

 "message":"Response validation failed: failed schema validation","code":"SCHEMA_VALIDATION_FAILED","failedValidation":true, {"errors":[{"code":"INVALID_TYPE","message":"Expected type ssortingng but found type null","path":["5","deleted_at"],"description":"Country record delete date"}, 

Après avoir lu la documentation, j’ai suivi-

  deleted_at: type: "ssortingng" format: "date-time" nullable: true description: "Country record delete date" 

Puis j’ai commencé à avoir cette erreur de validation dans swagger-ui

message: “Propriétés supplémentaires non autorisées: nullable”

J’ai essayé de définir le type à object from ssortingng mais même cela n’a pas fonctionné.

  deleted_at: type: "object" format: "date-time" nullable: true description: "Country record delete date" 

OpenAPI / Swagger 2.0 n’autorise les valeurs nullables pour aucun type. nullable: true été introduit dans OpenAPI 3.0 et n’est pas pris en charge dans OpenAPI / Swagger 2.0.

La solution de contournement consiste à ne pas envoyer deleted_at s’il est supposé être null .