Skip to content

Commit a97df7d

Browse files
Merge pull request #2480 from captainsafia/fix-dateonly
Set DateOnly as string type with date format in schema
2 parents 4a28652 + d9f2017 commit a97df7d

3 files changed

Lines changed: 14 additions & 2 deletions

File tree

src/Swashbuckle.AspNetCore.Newtonsoft/SchemaGenerator/NewtonsoftDataContractResolver.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,11 @@ [ typeof(DateTime) ] = Tuple.Create(DataType.String, "date-time"),
207207
[ typeof(DateTimeOffset) ] = Tuple.Create(DataType.String, "date-time"),
208208
[ typeof(Guid) ] = Tuple.Create(DataType.String, "uuid"),
209209
[ typeof(Uri) ] = Tuple.Create(DataType.String, "uri"),
210-
[ typeof(TimeSpan) ] = Tuple.Create(DataType.String, "date-span")
210+
[ typeof(TimeSpan) ] = Tuple.Create(DataType.String, "date-span"),
211+
#if NET6_0_OR_GREATER
212+
[ typeof(DateOnly) ] = Tuple.Create(DataType.String, "date"),
213+
[ typeof(TimeOnly) ] = Tuple.Create(DataType.String, "time")
214+
#endif
211215
};
212216
}
213217
}

src/Swashbuckle.AspNetCore.SwaggerGen/SchemaGenerator/JsonSerializerDataContractResolver.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,11 @@ [ typeof(char) ] = Tuple.Create(DataType.String, (string)null),
241241
[ typeof(DateTime) ] = Tuple.Create(DataType.String, "date-time"),
242242
[ typeof(DateTimeOffset) ] = Tuple.Create(DataType.String, "date-time"),
243243
[ typeof(Guid) ] = Tuple.Create(DataType.String, "uuid"),
244-
[ typeof(Uri) ] = Tuple.Create(DataType.String, "uri")
244+
[ typeof(Uri) ] = Tuple.Create(DataType.String, "uri"),
245+
#if NET6_0_OR_GREATER
246+
[ typeof(DateOnly) ] = Tuple.Create(DataType.String, "date"),
247+
[ typeof(TimeOnly) ] = Tuple.Create(DataType.String, "time")
248+
#endif
245249
};
246250
}
247251
}

test/Swashbuckle.AspNetCore.SwaggerGen.Test/SchemaGenerator/JsonSerializerSchemaGeneratorTests.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,14 @@ public void GenerateSchema_GeneratesFileSchema_IfFormFileOrFileResultType(Type t
5151
[InlineData(typeof(DateTimeOffset), "string", "date-time")]
5252
[InlineData(typeof(Guid), "string", "uuid")]
5353
[InlineData(typeof(Uri), "string", "uri")]
54+
[InlineData(typeof(DateOnly), "string", "date")]
55+
[InlineData(typeof(TimeOnly), "string", "time")]
5456
[InlineData(typeof(bool?), "boolean", null)]
5557
[InlineData(typeof(int?), "integer", "int32")]
5658
[InlineData(typeof(DateTime?), "string", "date-time")]
5759
[InlineData(typeof(Guid?), "string", "uuid")]
60+
[InlineData(typeof(DateOnly?), "string", "date")]
61+
[InlineData(typeof(TimeOnly?), "string", "time")]
5862
public void GenerateSchema_GeneratesPrimitiveSchema_IfPrimitiveOrNullablePrimitiveType(
5963
Type type,
6064
string expectedSchemaType,

0 commit comments

Comments
 (0)