How to manage nullable properties

Most of the time, the schema you get from vendor have issues about nullability of their properties.

Here Jane has an option called strict mode, by default we will follow strictly your schema types. But you can switch to non-strict mode (by having the option set to false in your Jane configuration file: "strict" => false). By doing this, any property of your schema will be considered nullable.

You can also try to fix your schema, here are some tips depending on which schema you are using

JSON Schema

Jane is actually supporting JSON Schema draft 2019-09. Which support null type, you just have to add it to your type field as follows:

  - 'null'   # Note the quotes around 'null'
  - string

OpenAPI v2 / Swagger

OpenAPI v2 does not support null type. Instead, most libraries does support x-nullable field in order to fake null support. You can use it as follows:

type: string
x-nullable: true

If you are using OpenAPI v2, consider migrating to OpenAPI v3 to get proper nullability support.

OpenAPI v3.0.x

OpenAPI v3 still does not support null type but added a nullable field in order to say that property is nullable or not. By default this field is set to false. You can use it as follows:

type: string
nullable: true

OpenAPI v3.1.x

This new OpenAPI version will be compatible with JSON Schema. So everything will be the same as JSON Schema. You still can use nullable field but it will be deprecated in favor of JSON Schema null type.

As of 25/04/2020, this version is not yet released.