Skip to content

Commit 3be00e4

Browse files
Merge pull request #1660 from microsoft/mk/handle-types-without-format
Map OpenApi primitives to simple types for types without format
2 parents 70e42b3 + 0f77d61 commit 3be00e4

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

src/Microsoft.OpenApi/Extensions/OpenApiTypeMapper.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,9 +100,11 @@ public static Type MapOpenApiPrimitiveTypeToSimpleType(this OpenApiSchema schema
100100
("boolean", null, false) => typeof(bool),
101101
("integer", "int32", false) => typeof(int),
102102
("integer", "int64", false) => typeof(long),
103+
("integer", null, false) => typeof(int),
103104
("number", "float", false) => typeof(float),
104105
("number", "double", false) => typeof(double),
105106
("number", "decimal", false) => typeof(decimal),
107+
("number", null, false) => typeof(double),
106108
("string", "byte", false) => typeof(byte),
107109
("string", "date-time", false) => typeof(DateTimeOffset),
108110
("string", "uuid", false) => typeof(Guid),
@@ -113,8 +115,10 @@ public static Type MapOpenApiPrimitiveTypeToSimpleType(this OpenApiSchema schema
113115
("string", "uri", false) => typeof(Uri),
114116
("integer", "int32", true) => typeof(int?),
115117
("integer", "int64", true) => typeof(long?),
118+
("integer", null, true) => typeof(int?),
116119
("number", "float", true) => typeof(float?),
117120
("number", "double", true) => typeof(double?),
121+
("number", null, true) => typeof(double?),
118122
("number", "decimal", true) => typeof(decimal?),
119123
("string", "byte", true) => typeof(byte?),
120124
("string", "date-time", true) => typeof(DateTimeOffset?),

test/Microsoft.OpenApi.Tests/Extensions/OpenApiTypeMapperTests.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ public class OpenApiTypeMapperTests
2424
public static IEnumerable<object[]> OpenApiDataTypes => new List<object[]>
2525
{
2626
new object[] { new OpenApiSchema { Type = "integer", Format = "int32"}, typeof(int) },
27+
new object[] { new OpenApiSchema { Type = "integer", Format = null, Nullable = false}, typeof(int) },
28+
new object[] { new OpenApiSchema { Type = "integer", Format = null, Nullable = true}, typeof(int?) },
2729
new object[] { new OpenApiSchema { Type = "string" }, typeof(string) },
2830
new object[] { new OpenApiSchema { Type = "number", Format = "double" }, typeof(double) },
2931
new object[] { new OpenApiSchema { Type = "number", Format = "float", Nullable = true }, typeof(float?) },

0 commit comments

Comments
 (0)