diff --git a/README.md b/README.md index 7cb62330..4cd58af3 100644 --- a/README.md +++ b/README.md @@ -328,8 +328,11 @@ enum EnumWithStrings { } ``` -### Nullable in OpenApi v2 -You can use the unofficial `x-nullable` backport in your specification to generate nullable properties in OpenApi v2. + +### Nullable in OpenAPI v2 +In the OpenAPI v3 spec you can create properties that can be NULL, by providing a `nullable: true` in your schema. +However, the v2 spec does not allow you to do this. You can use the unofficial `x-nullable` in your specification +to generate nullable properties in OpenApi v2. ```json { @@ -346,7 +349,7 @@ You can use the unofficial `x-nullable` backport in your specification to genera "requiredProp": { "description": "This is a simple string property", "type": "string", - "x-nullable": true, + "x-nullable": true } } } @@ -355,9 +358,9 @@ You can use the unofficial `x-nullable` backport in your specification to genera Generated code: ```typescript -enum ModelWithNullableString { +interface ModelWithNullableString { prop?: string | null, - requiredProp: string | null + requiredProp: string | null, } ``` diff --git a/src/openApi/v2/interfaces/Extensions/WithEnumExtension.d.ts b/src/openApi/v2/interfaces/Extensions/WithEnumExtension.d.ts index c4ebbd41..0d6ead78 100644 --- a/src/openApi/v2/interfaces/Extensions/WithEnumExtension.d.ts +++ b/src/openApi/v2/interfaces/Extensions/WithEnumExtension.d.ts @@ -1,6 +1,3 @@ -/** - * Supported extension for enums - */ export interface WithEnumExtension { 'x-enum-varnames'?: string[]; 'x-enum-descriptions'?: string[]; diff --git a/src/openApi/v2/interfaces/Extensions/WithNullableExtension.d.ts b/src/openApi/v2/interfaces/Extensions/WithNullableExtension.d.ts index 2f7c05f7..ed2632ff 100644 --- a/src/openApi/v2/interfaces/Extensions/WithNullableExtension.d.ts +++ b/src/openApi/v2/interfaces/Extensions/WithNullableExtension.d.ts @@ -1,6 +1,3 @@ -/** - * Supported extension for enums - */ export interface WithNullableExtension { 'x-nullable'?: boolean; } diff --git a/src/openApi/v3/interfaces/Extensions/WithEnumExtension.d.ts b/src/openApi/v3/interfaces/Extensions/WithEnumExtension.d.ts index c4ebbd41..0d6ead78 100644 --- a/src/openApi/v3/interfaces/Extensions/WithEnumExtension.d.ts +++ b/src/openApi/v3/interfaces/Extensions/WithEnumExtension.d.ts @@ -1,6 +1,3 @@ -/** - * Supported extension for enums - */ export interface WithEnumExtension { 'x-enum-varnames'?: string[]; 'x-enum-descriptions'?: string[]; diff --git a/test/spec/v2.json b/test/spec/v2.json index f0561825..ccd3d6a0 100644 --- a/test/spec/v2.json +++ b/test/spec/v2.json @@ -861,7 +861,9 @@ "ModelWithNullableString": { "description": "This is a model with one string property", "type": "object", - "required": ["nullableRequiredProp"], + "required": [ + "nullableRequiredProp" + ], "properties": { "nullableProp": { "description": "This is a simple string property",