forked from loafle/openapi-generator-original
improved date de/serialization (#14679)
This commit is contained in:
parent
d7edbad8d6
commit
7c57024e69
@ -6,6 +6,7 @@
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'ffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ssK",
|
||||
"yyyy'-'MM'-'dd",
|
||||
"yyyyMMddTHHmmss.fffffffK",
|
||||
"yyyyMMddTHHmmss.ffffffK",
|
||||
"yyyyMMddTHHmmss.fffffK",
|
||||
@ -14,3 +15,4 @@
|
||||
"yyyyMMddTHHmmss.ffK",
|
||||
"yyyyMMddTHHmmss.fK",
|
||||
"yyyyMMddTHHmmssK",
|
||||
"yyyyMMdd"
|
@ -12,7 +12,10 @@ namespace {{packageName}}.{{clientPackage}}
|
||||
/// </summary>
|
||||
{{>visibility}} class DateTimeJsonConverter : JsonConverter<DateTime>
|
||||
{
|
||||
public static readonly string[] FORMATS = {
|
||||
/// <summary>
|
||||
/// The formats used to deserialize the date
|
||||
/// </summary>
|
||||
public static string[] Formats { get; } = {
|
||||
{{>DateTimeFormats}}
|
||||
};
|
||||
|
||||
@ -29,7 +32,7 @@ namespace {{packageName}}.{{clientPackage}}
|
||||
|
||||
string value = reader.GetString(){{nrt!}};
|
||||
|
||||
foreach(string format in FORMATS)
|
||||
foreach(string format in Formats)
|
||||
if (DateTime.TryParseExact(value, format, CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal | DateTimeStyles.AssumeUniversal, out DateTime result))
|
||||
return result;
|
||||
|
||||
@ -43,6 +46,6 @@ namespace {{packageName}}.{{clientPackage}}
|
||||
/// <param name="dateTimeValue"></param>
|
||||
/// <param name="options"></param>
|
||||
public override void Write(Utf8JsonWriter writer, DateTime dateTimeValue, JsonSerializerOptions options) =>
|
||||
writer.WriteStringValue(dateTimeValue.ToString(FORMATS[0], CultureInfo.InvariantCulture));
|
||||
writer.WriteStringValue(dateTimeValue.ToString(Formats[0], CultureInfo.InvariantCulture));
|
||||
}
|
||||
}
|
||||
|
@ -12,7 +12,10 @@ namespace {{packageName}}.{{clientPackage}}
|
||||
/// </summary>
|
||||
{{>visibility}} class DateTimeNullableJsonConverter : JsonConverter<DateTime?>
|
||||
{
|
||||
public static readonly string[] FORMATS = {
|
||||
/// <summary>
|
||||
/// The formats used to deserialize the date
|
||||
/// </summary>
|
||||
public static string[] Formats { get; } = {
|
||||
{{>DateTimeFormats}}
|
||||
};
|
||||
|
||||
@ -29,7 +32,7 @@ namespace {{packageName}}.{{clientPackage}}
|
||||
|
||||
string value = reader.GetString(){{nrt!}};
|
||||
|
||||
foreach(string format in FORMATS)
|
||||
foreach(string format in Formats)
|
||||
if (DateTime.TryParseExact(value, format, CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal | DateTimeStyles.AssumeUniversal, out DateTime result))
|
||||
return result;
|
||||
|
||||
@ -47,7 +50,7 @@ namespace {{packageName}}.{{clientPackage}}
|
||||
if (dateTimeValue == null)
|
||||
writer.WriteNullValue();
|
||||
else
|
||||
writer.WriteStringValue(dateTimeValue.Value.ToString(FORMATS[0], CultureInfo.InvariantCulture));
|
||||
writer.WriteStringValue(dateTimeValue.Value.ToString(Formats[0], CultureInfo.InvariantCulture));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -4,11 +4,18 @@
|
||||
{{>visibility}} class {{classname}}JsonConverter : JsonConverter<{{classname}}>
|
||||
{
|
||||
{{#allVars}}
|
||||
{{#isDateTime}}
|
||||
/// <summary>
|
||||
/// The format to use to serialize {{name}}
|
||||
/// </summary>
|
||||
public static string {{name}}Format { get; set; } = "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK";
|
||||
|
||||
{{/isDateTime}}
|
||||
{{#isDate}}
|
||||
/// <summary>
|
||||
/// The format to use to serialize {{name}}
|
||||
/// </summary>
|
||||
public string {{name}}Format { get; set; } = "yyyy-MM-dd";
|
||||
public static string {{name}}Format { get; set; } = "yyyy-MM-dd";
|
||||
|
||||
{{/isDate}}
|
||||
{{/allVars}}
|
||||
@ -219,17 +226,24 @@
|
||||
{{#isDate}}
|
||||
{{#isNullable}}
|
||||
if ({{#lambda.camelcase_param}}{{classname}}{{/lambda.camelcase_param}}.{{name}} != null)
|
||||
writer.WriteString("{{baseName}}", {{#lambda.camelcase_param}}{{classname}}{{/lambda.camelcase_param}}.{{name}}.Value.ToString(this.{{name}}Format));
|
||||
writer.WriteString("{{baseName}}", {{#lambda.camelcase_param}}{{classname}}{{/lambda.camelcase_param}}.{{name}}.Value.ToString({{name}}Format));
|
||||
else
|
||||
writer.WriteNull("{{baseName}}");
|
||||
{{/isNullable}}
|
||||
{{^isNullable}}
|
||||
writer.WriteString("{{baseName}}", {{#lambda.camelcase_param}}{{classname}}{{/lambda.camelcase_param}}.{{name}}.ToString(this.{{name}}Format));
|
||||
writer.WriteString("{{baseName}}", {{#lambda.camelcase_param}}{{classname}}{{/lambda.camelcase_param}}.{{name}}.ToString({{name}}Format));
|
||||
{{/isNullable}}
|
||||
{{/isDate}}
|
||||
{{#isDateTime}}
|
||||
writer.WritePropertyName("{{baseName}}");
|
||||
JsonSerializer.Serialize(writer, {{#lambda.camelcase_param}}{{classname}}{{/lambda.camelcase_param}}.{{name}}, jsonSerializerOptions);
|
||||
{{#isNullable}}
|
||||
if ({{#lambda.camelcase_param}}{{classname}}{{/lambda.camelcase_param}}.{{name}} != null)
|
||||
writer.WriteString("{{baseName}}", {{#lambda.camelcase_param}}{{classname}}{{/lambda.camelcase_param}}.{{name}}.Value.ToString({{name}}Format));
|
||||
else
|
||||
writer.WriteNull("{{baseName}}");
|
||||
{{/isNullable}}
|
||||
{{^isNullable}}
|
||||
writer.WriteString("{{baseName}}", {{#lambda.camelcase_param}}{{classname}}{{/lambda.camelcase_param}}.{{name}}.ToString({{name}}Format));
|
||||
{{/isNullable}}
|
||||
{{/isDateTime}}
|
||||
{{#isEnum}}
|
||||
{{#isNumeric}}
|
||||
|
@ -20,7 +20,10 @@ namespace Org.OpenAPITools.Client
|
||||
/// </summary>
|
||||
public class DateTimeJsonConverter : JsonConverter<DateTime>
|
||||
{
|
||||
public static readonly string[] FORMATS = {
|
||||
/// <summary>
|
||||
/// The formats used to deserialize the date
|
||||
/// </summary>
|
||||
public static string[] Formats { get; } = {
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'ffffffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffK",
|
||||
@ -29,6 +32,7 @@ namespace Org.OpenAPITools.Client
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'ffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ssK",
|
||||
"yyyy'-'MM'-'dd",
|
||||
"yyyyMMddTHHmmss.fffffffK",
|
||||
"yyyyMMddTHHmmss.ffffffK",
|
||||
"yyyyMMddTHHmmss.fffffK",
|
||||
@ -37,6 +41,7 @@ namespace Org.OpenAPITools.Client
|
||||
"yyyyMMddTHHmmss.ffK",
|
||||
"yyyyMMddTHHmmss.fK",
|
||||
"yyyyMMddTHHmmssK",
|
||||
"yyyyMMdd"
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
@ -52,7 +57,7 @@ namespace Org.OpenAPITools.Client
|
||||
|
||||
string value = reader.GetString()!;
|
||||
|
||||
foreach(string format in FORMATS)
|
||||
foreach(string format in Formats)
|
||||
if (DateTime.TryParseExact(value, format, CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal | DateTimeStyles.AssumeUniversal, out DateTime result))
|
||||
return result;
|
||||
|
||||
@ -66,6 +71,6 @@ namespace Org.OpenAPITools.Client
|
||||
/// <param name="dateTimeValue"></param>
|
||||
/// <param name="options"></param>
|
||||
public override void Write(Utf8JsonWriter writer, DateTime dateTimeValue, JsonSerializerOptions options) =>
|
||||
writer.WriteStringValue(dateTimeValue.ToString(FORMATS[0], CultureInfo.InvariantCulture));
|
||||
writer.WriteStringValue(dateTimeValue.ToString(Formats[0], CultureInfo.InvariantCulture));
|
||||
}
|
||||
}
|
||||
|
@ -20,7 +20,10 @@ namespace Org.OpenAPITools.Client
|
||||
/// </summary>
|
||||
public class DateTimeNullableJsonConverter : JsonConverter<DateTime?>
|
||||
{
|
||||
public static readonly string[] FORMATS = {
|
||||
/// <summary>
|
||||
/// The formats used to deserialize the date
|
||||
/// </summary>
|
||||
public static string[] Formats { get; } = {
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'ffffffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffK",
|
||||
@ -29,6 +32,7 @@ namespace Org.OpenAPITools.Client
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'ffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ssK",
|
||||
"yyyy'-'MM'-'dd",
|
||||
"yyyyMMddTHHmmss.fffffffK",
|
||||
"yyyyMMddTHHmmss.ffffffK",
|
||||
"yyyyMMddTHHmmss.fffffK",
|
||||
@ -37,6 +41,7 @@ namespace Org.OpenAPITools.Client
|
||||
"yyyyMMddTHHmmss.ffK",
|
||||
"yyyyMMddTHHmmss.fK",
|
||||
"yyyyMMddTHHmmssK",
|
||||
"yyyyMMdd"
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
@ -52,7 +57,7 @@ namespace Org.OpenAPITools.Client
|
||||
|
||||
string value = reader.GetString()!;
|
||||
|
||||
foreach(string format in FORMATS)
|
||||
foreach(string format in Formats)
|
||||
if (DateTime.TryParseExact(value, format, CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal | DateTimeStyles.AssumeUniversal, out DateTime result))
|
||||
return result;
|
||||
|
||||
@ -70,7 +75,7 @@ namespace Org.OpenAPITools.Client
|
||||
if (dateTimeValue == null)
|
||||
writer.WriteNullValue();
|
||||
else
|
||||
writer.WriteStringValue(dateTimeValue.Value.ToString(FORMATS[0], CultureInfo.InvariantCulture));
|
||||
writer.WriteStringValue(dateTimeValue.Value.ToString(Formats[0], CultureInfo.InvariantCulture));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -93,7 +93,7 @@ namespace Org.OpenAPITools.Model
|
||||
/// <summary>
|
||||
/// The format to use to serialize DateOnlyProperty
|
||||
/// </summary>
|
||||
public string DateOnlyPropertyFormat { get; set; } = "yyyy-MM-dd";
|
||||
public static string DateOnlyPropertyFormat { get; set; } = "yyyy-MM-dd";
|
||||
|
||||
/// <summary>
|
||||
/// A Json reader.
|
||||
@ -152,7 +152,7 @@ namespace Org.OpenAPITools.Model
|
||||
{
|
||||
writer.WriteStartObject();
|
||||
|
||||
writer.WriteString("dateOnlyProperty", dateOnlyClass.DateOnlyProperty.ToString(this.DateOnlyPropertyFormat));
|
||||
writer.WriteString("dateOnlyProperty", dateOnlyClass.DateOnlyProperty.ToString(DateOnlyPropertyFormat));
|
||||
|
||||
writer.WriteEndObject();
|
||||
}
|
||||
|
@ -368,7 +368,12 @@ namespace Org.OpenAPITools.Model
|
||||
/// <summary>
|
||||
/// The format to use to serialize Date
|
||||
/// </summary>
|
||||
public string DateFormat { get; set; } = "yyyy-MM-dd";
|
||||
public static string DateFormat { get; set; } = "yyyy-MM-dd";
|
||||
|
||||
/// <summary>
|
||||
/// The format to use to serialize DateTime
|
||||
/// </summary>
|
||||
public static string DateTimeFormat { get; set; } = "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK";
|
||||
|
||||
/// <summary>
|
||||
/// A Json reader.
|
||||
@ -491,9 +496,8 @@ namespace Org.OpenAPITools.Model
|
||||
JsonSerializer.Serialize(writer, formatTest.Binary, jsonSerializerOptions);
|
||||
writer.WritePropertyName("byte");
|
||||
JsonSerializer.Serialize(writer, formatTest.ByteProperty, jsonSerializerOptions);
|
||||
writer.WriteString("date", formatTest.Date.ToString(this.DateFormat));
|
||||
writer.WritePropertyName("dateTime");
|
||||
JsonSerializer.Serialize(writer, formatTest.DateTime, jsonSerializerOptions);
|
||||
writer.WriteString("date", formatTest.Date.ToString(DateFormat));
|
||||
writer.WriteString("dateTime", formatTest.DateTime.ToString(DateTimeFormat));
|
||||
writer.WritePropertyName("decimal");
|
||||
JsonSerializer.Serialize(writer, formatTest.DecimalProperty, jsonSerializerOptions);
|
||||
writer.WriteNumber("double", formatTest.DoubleProperty);
|
||||
|
@ -133,6 +133,11 @@ namespace Org.OpenAPITools.Model
|
||||
/// </summary>
|
||||
public class MixedPropertiesAndAdditionalPropertiesClassJsonConverter : JsonConverter<MixedPropertiesAndAdditionalPropertiesClass>
|
||||
{
|
||||
/// <summary>
|
||||
/// The format to use to serialize DateTime
|
||||
/// </summary>
|
||||
public static string DateTimeFormat { get; set; } = "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK";
|
||||
|
||||
/// <summary>
|
||||
/// A Json reader.
|
||||
/// </summary>
|
||||
@ -202,8 +207,7 @@ namespace Org.OpenAPITools.Model
|
||||
{
|
||||
writer.WriteStartObject();
|
||||
|
||||
writer.WritePropertyName("dateTime");
|
||||
JsonSerializer.Serialize(writer, mixedPropertiesAndAdditionalPropertiesClass.DateTime, jsonSerializerOptions);
|
||||
writer.WriteString("dateTime", mixedPropertiesAndAdditionalPropertiesClass.DateTime.ToString(DateTimeFormat));
|
||||
writer.WritePropertyName("map");
|
||||
JsonSerializer.Serialize(writer, mixedPropertiesAndAdditionalPropertiesClass.Map, jsonSerializerOptions);
|
||||
writer.WriteString("uuid", mixedPropertiesAndAdditionalPropertiesClass.Uuid);
|
||||
|
@ -189,7 +189,12 @@ namespace Org.OpenAPITools.Model
|
||||
/// <summary>
|
||||
/// The format to use to serialize DateProp
|
||||
/// </summary>
|
||||
public string DatePropFormat { get; set; } = "yyyy-MM-dd";
|
||||
public static string DatePropFormat { get; set; } = "yyyy-MM-dd";
|
||||
|
||||
/// <summary>
|
||||
/// The format to use to serialize DatetimeProp
|
||||
/// </summary>
|
||||
public static string DatetimePropFormat { get; set; } = "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK";
|
||||
|
||||
/// <summary>
|
||||
/// A Json reader.
|
||||
@ -307,11 +312,13 @@ namespace Org.OpenAPITools.Model
|
||||
else
|
||||
writer.WriteNull("boolean_prop");
|
||||
if (nullableClass.DateProp != null)
|
||||
writer.WriteString("date_prop", nullableClass.DateProp.Value.ToString(this.DatePropFormat));
|
||||
writer.WriteString("date_prop", nullableClass.DateProp.Value.ToString(DatePropFormat));
|
||||
else
|
||||
writer.WriteNull("date_prop");
|
||||
writer.WritePropertyName("datetime_prop");
|
||||
JsonSerializer.Serialize(writer, nullableClass.DatetimeProp, jsonSerializerOptions);
|
||||
if (nullableClass.DatetimeProp != null)
|
||||
writer.WriteString("datetime_prop", nullableClass.DatetimeProp.Value.ToString(DatetimePropFormat));
|
||||
else
|
||||
writer.WriteNull("datetime_prop");
|
||||
if (nullableClass.IntegerProp != null)
|
||||
writer.WriteNumber("integer_prop", nullableClass.IntegerProp.Value);
|
||||
else
|
||||
|
@ -213,6 +213,11 @@ namespace Org.OpenAPITools.Model
|
||||
/// </summary>
|
||||
public class OrderJsonConverter : JsonConverter<Order>
|
||||
{
|
||||
/// <summary>
|
||||
/// The format to use to serialize ShipDate
|
||||
/// </summary>
|
||||
public static string ShipDateFormat { get; set; } = "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK";
|
||||
|
||||
/// <summary>
|
||||
/// A Json reader.
|
||||
/// </summary>
|
||||
@ -294,8 +299,7 @@ namespace Org.OpenAPITools.Model
|
||||
writer.WriteNumber("id", order.Id);
|
||||
writer.WriteNumber("petId", order.PetId);
|
||||
writer.WriteNumber("quantity", order.Quantity);
|
||||
writer.WritePropertyName("shipDate");
|
||||
JsonSerializer.Serialize(writer, order.ShipDate, jsonSerializerOptions);
|
||||
writer.WriteString("shipDate", order.ShipDate.ToString(ShipDateFormat));
|
||||
var statusRawValue = Order.StatusEnumToJsonValue(order.Status);
|
||||
if (statusRawValue != null)
|
||||
writer.WriteString("status", statusRawValue);
|
||||
|
@ -20,7 +20,10 @@ namespace Org.OpenAPITools.Client
|
||||
/// </summary>
|
||||
public class DateTimeJsonConverter : JsonConverter<DateTime>
|
||||
{
|
||||
public static readonly string[] FORMATS = {
|
||||
/// <summary>
|
||||
/// The formats used to deserialize the date
|
||||
/// </summary>
|
||||
public static string[] Formats { get; } = {
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'ffffffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffK",
|
||||
@ -29,6 +32,7 @@ namespace Org.OpenAPITools.Client
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'ffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ssK",
|
||||
"yyyy'-'MM'-'dd",
|
||||
"yyyyMMddTHHmmss.fffffffK",
|
||||
"yyyyMMddTHHmmss.ffffffK",
|
||||
"yyyyMMddTHHmmss.fffffK",
|
||||
@ -37,6 +41,7 @@ namespace Org.OpenAPITools.Client
|
||||
"yyyyMMddTHHmmss.ffK",
|
||||
"yyyyMMddTHHmmss.fK",
|
||||
"yyyyMMddTHHmmssK",
|
||||
"yyyyMMdd"
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
@ -52,7 +57,7 @@ namespace Org.OpenAPITools.Client
|
||||
|
||||
string value = reader.GetString();
|
||||
|
||||
foreach(string format in FORMATS)
|
||||
foreach(string format in Formats)
|
||||
if (DateTime.TryParseExact(value, format, CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal | DateTimeStyles.AssumeUniversal, out DateTime result))
|
||||
return result;
|
||||
|
||||
@ -66,6 +71,6 @@ namespace Org.OpenAPITools.Client
|
||||
/// <param name="dateTimeValue"></param>
|
||||
/// <param name="options"></param>
|
||||
public override void Write(Utf8JsonWriter writer, DateTime dateTimeValue, JsonSerializerOptions options) =>
|
||||
writer.WriteStringValue(dateTimeValue.ToString(FORMATS[0], CultureInfo.InvariantCulture));
|
||||
writer.WriteStringValue(dateTimeValue.ToString(Formats[0], CultureInfo.InvariantCulture));
|
||||
}
|
||||
}
|
||||
|
@ -20,7 +20,10 @@ namespace Org.OpenAPITools.Client
|
||||
/// </summary>
|
||||
public class DateTimeNullableJsonConverter : JsonConverter<DateTime?>
|
||||
{
|
||||
public static readonly string[] FORMATS = {
|
||||
/// <summary>
|
||||
/// The formats used to deserialize the date
|
||||
/// </summary>
|
||||
public static string[] Formats { get; } = {
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'ffffffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffK",
|
||||
@ -29,6 +32,7 @@ namespace Org.OpenAPITools.Client
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'ffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ssK",
|
||||
"yyyy'-'MM'-'dd",
|
||||
"yyyyMMddTHHmmss.fffffffK",
|
||||
"yyyyMMddTHHmmss.ffffffK",
|
||||
"yyyyMMddTHHmmss.fffffK",
|
||||
@ -37,6 +41,7 @@ namespace Org.OpenAPITools.Client
|
||||
"yyyyMMddTHHmmss.ffK",
|
||||
"yyyyMMddTHHmmss.fK",
|
||||
"yyyyMMddTHHmmssK",
|
||||
"yyyyMMdd"
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
@ -52,7 +57,7 @@ namespace Org.OpenAPITools.Client
|
||||
|
||||
string value = reader.GetString();
|
||||
|
||||
foreach(string format in FORMATS)
|
||||
foreach(string format in Formats)
|
||||
if (DateTime.TryParseExact(value, format, CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal | DateTimeStyles.AssumeUniversal, out DateTime result))
|
||||
return result;
|
||||
|
||||
@ -70,7 +75,7 @@ namespace Org.OpenAPITools.Client
|
||||
if (dateTimeValue == null)
|
||||
writer.WriteNullValue();
|
||||
else
|
||||
writer.WriteStringValue(dateTimeValue.Value.ToString(FORMATS[0], CultureInfo.InvariantCulture));
|
||||
writer.WriteStringValue(dateTimeValue.Value.ToString(Formats[0], CultureInfo.InvariantCulture));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -91,7 +91,7 @@ namespace Org.OpenAPITools.Model
|
||||
/// <summary>
|
||||
/// The format to use to serialize DateOnlyProperty
|
||||
/// </summary>
|
||||
public string DateOnlyPropertyFormat { get; set; } = "yyyy-MM-dd";
|
||||
public static string DateOnlyPropertyFormat { get; set; } = "yyyy-MM-dd";
|
||||
|
||||
/// <summary>
|
||||
/// A Json reader.
|
||||
@ -150,7 +150,7 @@ namespace Org.OpenAPITools.Model
|
||||
{
|
||||
writer.WriteStartObject();
|
||||
|
||||
writer.WriteString("dateOnlyProperty", dateOnlyClass.DateOnlyProperty.ToString(this.DateOnlyPropertyFormat));
|
||||
writer.WriteString("dateOnlyProperty", dateOnlyClass.DateOnlyProperty.ToString(DateOnlyPropertyFormat));
|
||||
|
||||
writer.WriteEndObject();
|
||||
}
|
||||
|
@ -366,7 +366,12 @@ namespace Org.OpenAPITools.Model
|
||||
/// <summary>
|
||||
/// The format to use to serialize Date
|
||||
/// </summary>
|
||||
public string DateFormat { get; set; } = "yyyy-MM-dd";
|
||||
public static string DateFormat { get; set; } = "yyyy-MM-dd";
|
||||
|
||||
/// <summary>
|
||||
/// The format to use to serialize DateTime
|
||||
/// </summary>
|
||||
public static string DateTimeFormat { get; set; } = "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK";
|
||||
|
||||
/// <summary>
|
||||
/// A Json reader.
|
||||
@ -489,9 +494,8 @@ namespace Org.OpenAPITools.Model
|
||||
JsonSerializer.Serialize(writer, formatTest.Binary, jsonSerializerOptions);
|
||||
writer.WritePropertyName("byte");
|
||||
JsonSerializer.Serialize(writer, formatTest.ByteProperty, jsonSerializerOptions);
|
||||
writer.WriteString("date", formatTest.Date.ToString(this.DateFormat));
|
||||
writer.WritePropertyName("dateTime");
|
||||
JsonSerializer.Serialize(writer, formatTest.DateTime, jsonSerializerOptions);
|
||||
writer.WriteString("date", formatTest.Date.ToString(DateFormat));
|
||||
writer.WriteString("dateTime", formatTest.DateTime.ToString(DateTimeFormat));
|
||||
writer.WritePropertyName("decimal");
|
||||
JsonSerializer.Serialize(writer, formatTest.DecimalProperty, jsonSerializerOptions);
|
||||
writer.WriteNumber("double", formatTest.DoubleProperty);
|
||||
|
@ -131,6 +131,11 @@ namespace Org.OpenAPITools.Model
|
||||
/// </summary>
|
||||
public class MixedPropertiesAndAdditionalPropertiesClassJsonConverter : JsonConverter<MixedPropertiesAndAdditionalPropertiesClass>
|
||||
{
|
||||
/// <summary>
|
||||
/// The format to use to serialize DateTime
|
||||
/// </summary>
|
||||
public static string DateTimeFormat { get; set; } = "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK";
|
||||
|
||||
/// <summary>
|
||||
/// A Json reader.
|
||||
/// </summary>
|
||||
@ -200,8 +205,7 @@ namespace Org.OpenAPITools.Model
|
||||
{
|
||||
writer.WriteStartObject();
|
||||
|
||||
writer.WritePropertyName("dateTime");
|
||||
JsonSerializer.Serialize(writer, mixedPropertiesAndAdditionalPropertiesClass.DateTime, jsonSerializerOptions);
|
||||
writer.WriteString("dateTime", mixedPropertiesAndAdditionalPropertiesClass.DateTime.ToString(DateTimeFormat));
|
||||
writer.WritePropertyName("map");
|
||||
JsonSerializer.Serialize(writer, mixedPropertiesAndAdditionalPropertiesClass.Map, jsonSerializerOptions);
|
||||
writer.WriteString("uuid", mixedPropertiesAndAdditionalPropertiesClass.Uuid);
|
||||
|
@ -187,7 +187,12 @@ namespace Org.OpenAPITools.Model
|
||||
/// <summary>
|
||||
/// The format to use to serialize DateProp
|
||||
/// </summary>
|
||||
public string DatePropFormat { get; set; } = "yyyy-MM-dd";
|
||||
public static string DatePropFormat { get; set; } = "yyyy-MM-dd";
|
||||
|
||||
/// <summary>
|
||||
/// The format to use to serialize DatetimeProp
|
||||
/// </summary>
|
||||
public static string DatetimePropFormat { get; set; } = "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK";
|
||||
|
||||
/// <summary>
|
||||
/// A Json reader.
|
||||
@ -305,11 +310,13 @@ namespace Org.OpenAPITools.Model
|
||||
else
|
||||
writer.WriteNull("boolean_prop");
|
||||
if (nullableClass.DateProp != null)
|
||||
writer.WriteString("date_prop", nullableClass.DateProp.Value.ToString(this.DatePropFormat));
|
||||
writer.WriteString("date_prop", nullableClass.DateProp.Value.ToString(DatePropFormat));
|
||||
else
|
||||
writer.WriteNull("date_prop");
|
||||
writer.WritePropertyName("datetime_prop");
|
||||
JsonSerializer.Serialize(writer, nullableClass.DatetimeProp, jsonSerializerOptions);
|
||||
if (nullableClass.DatetimeProp != null)
|
||||
writer.WriteString("datetime_prop", nullableClass.DatetimeProp.Value.ToString(DatetimePropFormat));
|
||||
else
|
||||
writer.WriteNull("datetime_prop");
|
||||
if (nullableClass.IntegerProp != null)
|
||||
writer.WriteNumber("integer_prop", nullableClass.IntegerProp.Value);
|
||||
else
|
||||
|
@ -211,6 +211,11 @@ namespace Org.OpenAPITools.Model
|
||||
/// </summary>
|
||||
public class OrderJsonConverter : JsonConverter<Order>
|
||||
{
|
||||
/// <summary>
|
||||
/// The format to use to serialize ShipDate
|
||||
/// </summary>
|
||||
public static string ShipDateFormat { get; set; } = "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK";
|
||||
|
||||
/// <summary>
|
||||
/// A Json reader.
|
||||
/// </summary>
|
||||
@ -292,8 +297,7 @@ namespace Org.OpenAPITools.Model
|
||||
writer.WriteNumber("id", order.Id);
|
||||
writer.WriteNumber("petId", order.PetId);
|
||||
writer.WriteNumber("quantity", order.Quantity);
|
||||
writer.WritePropertyName("shipDate");
|
||||
JsonSerializer.Serialize(writer, order.ShipDate, jsonSerializerOptions);
|
||||
writer.WriteString("shipDate", order.ShipDate.ToString(ShipDateFormat));
|
||||
var statusRawValue = Order.StatusEnumToJsonValue(order.Status);
|
||||
if (statusRawValue != null)
|
||||
writer.WriteString("status", statusRawValue);
|
||||
|
@ -20,7 +20,10 @@ namespace Org.OpenAPITools.Client
|
||||
/// </summary>
|
||||
public class DateTimeJsonConverter : JsonConverter<DateTime>
|
||||
{
|
||||
public static readonly string[] FORMATS = {
|
||||
/// <summary>
|
||||
/// The formats used to deserialize the date
|
||||
/// </summary>
|
||||
public static string[] Formats { get; } = {
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'ffffffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffK",
|
||||
@ -29,6 +32,7 @@ namespace Org.OpenAPITools.Client
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'ffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ssK",
|
||||
"yyyy'-'MM'-'dd",
|
||||
"yyyyMMddTHHmmss.fffffffK",
|
||||
"yyyyMMddTHHmmss.ffffffK",
|
||||
"yyyyMMddTHHmmss.fffffK",
|
||||
@ -37,6 +41,7 @@ namespace Org.OpenAPITools.Client
|
||||
"yyyyMMddTHHmmss.ffK",
|
||||
"yyyyMMddTHHmmss.fK",
|
||||
"yyyyMMddTHHmmssK",
|
||||
"yyyyMMdd"
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
@ -52,7 +57,7 @@ namespace Org.OpenAPITools.Client
|
||||
|
||||
string value = reader.GetString()!;
|
||||
|
||||
foreach(string format in FORMATS)
|
||||
foreach(string format in Formats)
|
||||
if (DateTime.TryParseExact(value, format, CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal | DateTimeStyles.AssumeUniversal, out DateTime result))
|
||||
return result;
|
||||
|
||||
@ -66,6 +71,6 @@ namespace Org.OpenAPITools.Client
|
||||
/// <param name="dateTimeValue"></param>
|
||||
/// <param name="options"></param>
|
||||
public override void Write(Utf8JsonWriter writer, DateTime dateTimeValue, JsonSerializerOptions options) =>
|
||||
writer.WriteStringValue(dateTimeValue.ToString(FORMATS[0], CultureInfo.InvariantCulture));
|
||||
writer.WriteStringValue(dateTimeValue.ToString(Formats[0], CultureInfo.InvariantCulture));
|
||||
}
|
||||
}
|
||||
|
@ -20,7 +20,10 @@ namespace Org.OpenAPITools.Client
|
||||
/// </summary>
|
||||
public class DateTimeNullableJsonConverter : JsonConverter<DateTime?>
|
||||
{
|
||||
public static readonly string[] FORMATS = {
|
||||
/// <summary>
|
||||
/// The formats used to deserialize the date
|
||||
/// </summary>
|
||||
public static string[] Formats { get; } = {
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'ffffffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffK",
|
||||
@ -29,6 +32,7 @@ namespace Org.OpenAPITools.Client
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'ffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ssK",
|
||||
"yyyy'-'MM'-'dd",
|
||||
"yyyyMMddTHHmmss.fffffffK",
|
||||
"yyyyMMddTHHmmss.ffffffK",
|
||||
"yyyyMMddTHHmmss.fffffK",
|
||||
@ -37,6 +41,7 @@ namespace Org.OpenAPITools.Client
|
||||
"yyyyMMddTHHmmss.ffK",
|
||||
"yyyyMMddTHHmmss.fK",
|
||||
"yyyyMMddTHHmmssK",
|
||||
"yyyyMMdd"
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
@ -52,7 +57,7 @@ namespace Org.OpenAPITools.Client
|
||||
|
||||
string value = reader.GetString()!;
|
||||
|
||||
foreach(string format in FORMATS)
|
||||
foreach(string format in Formats)
|
||||
if (DateTime.TryParseExact(value, format, CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal | DateTimeStyles.AssumeUniversal, out DateTime result))
|
||||
return result;
|
||||
|
||||
@ -70,7 +75,7 @@ namespace Org.OpenAPITools.Client
|
||||
if (dateTimeValue == null)
|
||||
writer.WriteNullValue();
|
||||
else
|
||||
writer.WriteStringValue(dateTimeValue.Value.ToString(FORMATS[0], CultureInfo.InvariantCulture));
|
||||
writer.WriteStringValue(dateTimeValue.Value.ToString(Formats[0], CultureInfo.InvariantCulture));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -20,7 +20,10 @@ namespace Org.OpenAPITools.Client
|
||||
/// </summary>
|
||||
public class DateTimeJsonConverter : JsonConverter<DateTime>
|
||||
{
|
||||
public static readonly string[] FORMATS = {
|
||||
/// <summary>
|
||||
/// The formats used to deserialize the date
|
||||
/// </summary>
|
||||
public static string[] Formats { get; } = {
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'ffffffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffK",
|
||||
@ -29,6 +32,7 @@ namespace Org.OpenAPITools.Client
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'ffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ssK",
|
||||
"yyyy'-'MM'-'dd",
|
||||
"yyyyMMddTHHmmss.fffffffK",
|
||||
"yyyyMMddTHHmmss.ffffffK",
|
||||
"yyyyMMddTHHmmss.fffffK",
|
||||
@ -37,6 +41,7 @@ namespace Org.OpenAPITools.Client
|
||||
"yyyyMMddTHHmmss.ffK",
|
||||
"yyyyMMddTHHmmss.fK",
|
||||
"yyyyMMddTHHmmssK",
|
||||
"yyyyMMdd"
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
@ -52,7 +57,7 @@ namespace Org.OpenAPITools.Client
|
||||
|
||||
string value = reader.GetString()!;
|
||||
|
||||
foreach(string format in FORMATS)
|
||||
foreach(string format in Formats)
|
||||
if (DateTime.TryParseExact(value, format, CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal | DateTimeStyles.AssumeUniversal, out DateTime result))
|
||||
return result;
|
||||
|
||||
@ -66,6 +71,6 @@ namespace Org.OpenAPITools.Client
|
||||
/// <param name="dateTimeValue"></param>
|
||||
/// <param name="options"></param>
|
||||
public override void Write(Utf8JsonWriter writer, DateTime dateTimeValue, JsonSerializerOptions options) =>
|
||||
writer.WriteStringValue(dateTimeValue.ToString(FORMATS[0], CultureInfo.InvariantCulture));
|
||||
writer.WriteStringValue(dateTimeValue.ToString(Formats[0], CultureInfo.InvariantCulture));
|
||||
}
|
||||
}
|
||||
|
@ -20,7 +20,10 @@ namespace Org.OpenAPITools.Client
|
||||
/// </summary>
|
||||
public class DateTimeNullableJsonConverter : JsonConverter<DateTime?>
|
||||
{
|
||||
public static readonly string[] FORMATS = {
|
||||
/// <summary>
|
||||
/// The formats used to deserialize the date
|
||||
/// </summary>
|
||||
public static string[] Formats { get; } = {
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'ffffffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffK",
|
||||
@ -29,6 +32,7 @@ namespace Org.OpenAPITools.Client
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'ffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ssK",
|
||||
"yyyy'-'MM'-'dd",
|
||||
"yyyyMMddTHHmmss.fffffffK",
|
||||
"yyyyMMddTHHmmss.ffffffK",
|
||||
"yyyyMMddTHHmmss.fffffK",
|
||||
@ -37,6 +41,7 @@ namespace Org.OpenAPITools.Client
|
||||
"yyyyMMddTHHmmss.ffK",
|
||||
"yyyyMMddTHHmmss.fK",
|
||||
"yyyyMMddTHHmmssK",
|
||||
"yyyyMMdd"
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
@ -52,7 +57,7 @@ namespace Org.OpenAPITools.Client
|
||||
|
||||
string value = reader.GetString()!;
|
||||
|
||||
foreach(string format in FORMATS)
|
||||
foreach(string format in Formats)
|
||||
if (DateTime.TryParseExact(value, format, CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal | DateTimeStyles.AssumeUniversal, out DateTime result))
|
||||
return result;
|
||||
|
||||
@ -70,7 +75,7 @@ namespace Org.OpenAPITools.Client
|
||||
if (dateTimeValue == null)
|
||||
writer.WriteNullValue();
|
||||
else
|
||||
writer.WriteStringValue(dateTimeValue.Value.ToString(FORMATS[0], CultureInfo.InvariantCulture));
|
||||
writer.WriteStringValue(dateTimeValue.Value.ToString(Formats[0], CultureInfo.InvariantCulture));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -20,7 +20,10 @@ namespace Org.OpenAPITools.Client
|
||||
/// </summary>
|
||||
public class DateTimeJsonConverter : JsonConverter<DateTime>
|
||||
{
|
||||
public static readonly string[] FORMATS = {
|
||||
/// <summary>
|
||||
/// The formats used to deserialize the date
|
||||
/// </summary>
|
||||
public static string[] Formats { get; } = {
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'ffffffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffK",
|
||||
@ -29,6 +32,7 @@ namespace Org.OpenAPITools.Client
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'ffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ssK",
|
||||
"yyyy'-'MM'-'dd",
|
||||
"yyyyMMddTHHmmss.fffffffK",
|
||||
"yyyyMMddTHHmmss.ffffffK",
|
||||
"yyyyMMddTHHmmss.fffffK",
|
||||
@ -37,6 +41,7 @@ namespace Org.OpenAPITools.Client
|
||||
"yyyyMMddTHHmmss.ffK",
|
||||
"yyyyMMddTHHmmss.fK",
|
||||
"yyyyMMddTHHmmssK",
|
||||
"yyyyMMdd"
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
@ -52,7 +57,7 @@ namespace Org.OpenAPITools.Client
|
||||
|
||||
string value = reader.GetString()!;
|
||||
|
||||
foreach(string format in FORMATS)
|
||||
foreach(string format in Formats)
|
||||
if (DateTime.TryParseExact(value, format, CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal | DateTimeStyles.AssumeUniversal, out DateTime result))
|
||||
return result;
|
||||
|
||||
@ -66,6 +71,6 @@ namespace Org.OpenAPITools.Client
|
||||
/// <param name="dateTimeValue"></param>
|
||||
/// <param name="options"></param>
|
||||
public override void Write(Utf8JsonWriter writer, DateTime dateTimeValue, JsonSerializerOptions options) =>
|
||||
writer.WriteStringValue(dateTimeValue.ToString(FORMATS[0], CultureInfo.InvariantCulture));
|
||||
writer.WriteStringValue(dateTimeValue.ToString(Formats[0], CultureInfo.InvariantCulture));
|
||||
}
|
||||
}
|
||||
|
@ -20,7 +20,10 @@ namespace Org.OpenAPITools.Client
|
||||
/// </summary>
|
||||
public class DateTimeNullableJsonConverter : JsonConverter<DateTime?>
|
||||
{
|
||||
public static readonly string[] FORMATS = {
|
||||
/// <summary>
|
||||
/// The formats used to deserialize the date
|
||||
/// </summary>
|
||||
public static string[] Formats { get; } = {
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'ffffffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffK",
|
||||
@ -29,6 +32,7 @@ namespace Org.OpenAPITools.Client
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'ffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ssK",
|
||||
"yyyy'-'MM'-'dd",
|
||||
"yyyyMMddTHHmmss.fffffffK",
|
||||
"yyyyMMddTHHmmss.ffffffK",
|
||||
"yyyyMMddTHHmmss.fffffK",
|
||||
@ -37,6 +41,7 @@ namespace Org.OpenAPITools.Client
|
||||
"yyyyMMddTHHmmss.ffK",
|
||||
"yyyyMMddTHHmmss.fK",
|
||||
"yyyyMMddTHHmmssK",
|
||||
"yyyyMMdd"
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
@ -52,7 +57,7 @@ namespace Org.OpenAPITools.Client
|
||||
|
||||
string value = reader.GetString()!;
|
||||
|
||||
foreach(string format in FORMATS)
|
||||
foreach(string format in Formats)
|
||||
if (DateTime.TryParseExact(value, format, CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal | DateTimeStyles.AssumeUniversal, out DateTime result))
|
||||
return result;
|
||||
|
||||
@ -70,7 +75,7 @@ namespace Org.OpenAPITools.Client
|
||||
if (dateTimeValue == null)
|
||||
writer.WriteNullValue();
|
||||
else
|
||||
writer.WriteStringValue(dateTimeValue.Value.ToString(FORMATS[0], CultureInfo.InvariantCulture));
|
||||
writer.WriteStringValue(dateTimeValue.Value.ToString(Formats[0], CultureInfo.InvariantCulture));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -20,7 +20,10 @@ namespace Org.OpenAPITools.Client
|
||||
/// </summary>
|
||||
public class DateTimeJsonConverter : JsonConverter<DateTime>
|
||||
{
|
||||
public static readonly string[] FORMATS = {
|
||||
/// <summary>
|
||||
/// The formats used to deserialize the date
|
||||
/// </summary>
|
||||
public static string[] Formats { get; } = {
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'ffffffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffK",
|
||||
@ -29,6 +32,7 @@ namespace Org.OpenAPITools.Client
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'ffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ssK",
|
||||
"yyyy'-'MM'-'dd",
|
||||
"yyyyMMddTHHmmss.fffffffK",
|
||||
"yyyyMMddTHHmmss.ffffffK",
|
||||
"yyyyMMddTHHmmss.fffffK",
|
||||
@ -37,6 +41,7 @@ namespace Org.OpenAPITools.Client
|
||||
"yyyyMMddTHHmmss.ffK",
|
||||
"yyyyMMddTHHmmss.fK",
|
||||
"yyyyMMddTHHmmssK",
|
||||
"yyyyMMdd"
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
@ -52,7 +57,7 @@ namespace Org.OpenAPITools.Client
|
||||
|
||||
string value = reader.GetString();
|
||||
|
||||
foreach(string format in FORMATS)
|
||||
foreach(string format in Formats)
|
||||
if (DateTime.TryParseExact(value, format, CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal | DateTimeStyles.AssumeUniversal, out DateTime result))
|
||||
return result;
|
||||
|
||||
@ -66,6 +71,6 @@ namespace Org.OpenAPITools.Client
|
||||
/// <param name="dateTimeValue"></param>
|
||||
/// <param name="options"></param>
|
||||
public override void Write(Utf8JsonWriter writer, DateTime dateTimeValue, JsonSerializerOptions options) =>
|
||||
writer.WriteStringValue(dateTimeValue.ToString(FORMATS[0], CultureInfo.InvariantCulture));
|
||||
writer.WriteStringValue(dateTimeValue.ToString(Formats[0], CultureInfo.InvariantCulture));
|
||||
}
|
||||
}
|
||||
|
@ -20,7 +20,10 @@ namespace Org.OpenAPITools.Client
|
||||
/// </summary>
|
||||
public class DateTimeNullableJsonConverter : JsonConverter<DateTime?>
|
||||
{
|
||||
public static readonly string[] FORMATS = {
|
||||
/// <summary>
|
||||
/// The formats used to deserialize the date
|
||||
/// </summary>
|
||||
public static string[] Formats { get; } = {
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'ffffffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffK",
|
||||
@ -29,6 +32,7 @@ namespace Org.OpenAPITools.Client
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'ffK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fK",
|
||||
"yyyy'-'MM'-'dd'T'HH':'mm':'ssK",
|
||||
"yyyy'-'MM'-'dd",
|
||||
"yyyyMMddTHHmmss.fffffffK",
|
||||
"yyyyMMddTHHmmss.ffffffK",
|
||||
"yyyyMMddTHHmmss.fffffK",
|
||||
@ -37,6 +41,7 @@ namespace Org.OpenAPITools.Client
|
||||
"yyyyMMddTHHmmss.ffK",
|
||||
"yyyyMMddTHHmmss.fK",
|
||||
"yyyyMMddTHHmmssK",
|
||||
"yyyyMMdd"
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
@ -52,7 +57,7 @@ namespace Org.OpenAPITools.Client
|
||||
|
||||
string value = reader.GetString();
|
||||
|
||||
foreach(string format in FORMATS)
|
||||
foreach(string format in Formats)
|
||||
if (DateTime.TryParseExact(value, format, CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal | DateTimeStyles.AssumeUniversal, out DateTime result))
|
||||
return result;
|
||||
|
||||
@ -70,7 +75,7 @@ namespace Org.OpenAPITools.Client
|
||||
if (dateTimeValue == null)
|
||||
writer.WriteNullValue();
|
||||
else
|
||||
writer.WriteStringValue(dateTimeValue.Value.ToString(FORMATS[0], CultureInfo.InvariantCulture));
|
||||
writer.WriteStringValue(dateTimeValue.Value.ToString(Formats[0], CultureInfo.InvariantCulture));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -91,7 +91,7 @@ namespace Org.OpenAPITools.Model
|
||||
/// <summary>
|
||||
/// The format to use to serialize DateOnlyProperty
|
||||
/// </summary>
|
||||
public string DateOnlyPropertyFormat { get; set; } = "yyyy-MM-dd";
|
||||
public static string DateOnlyPropertyFormat { get; set; } = "yyyy-MM-dd";
|
||||
|
||||
/// <summary>
|
||||
/// A Json reader.
|
||||
@ -150,7 +150,7 @@ namespace Org.OpenAPITools.Model
|
||||
{
|
||||
writer.WriteStartObject();
|
||||
|
||||
writer.WriteString("dateOnlyProperty", dateOnlyClass.DateOnlyProperty.ToString(this.DateOnlyPropertyFormat));
|
||||
writer.WriteString("dateOnlyProperty", dateOnlyClass.DateOnlyProperty.ToString(DateOnlyPropertyFormat));
|
||||
|
||||
writer.WriteEndObject();
|
||||
}
|
||||
|
@ -366,7 +366,12 @@ namespace Org.OpenAPITools.Model
|
||||
/// <summary>
|
||||
/// The format to use to serialize Date
|
||||
/// </summary>
|
||||
public string DateFormat { get; set; } = "yyyy-MM-dd";
|
||||
public static string DateFormat { get; set; } = "yyyy-MM-dd";
|
||||
|
||||
/// <summary>
|
||||
/// The format to use to serialize DateTime
|
||||
/// </summary>
|
||||
public static string DateTimeFormat { get; set; } = "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK";
|
||||
|
||||
/// <summary>
|
||||
/// A Json reader.
|
||||
@ -489,9 +494,8 @@ namespace Org.OpenAPITools.Model
|
||||
JsonSerializer.Serialize(writer, formatTest.Binary, jsonSerializerOptions);
|
||||
writer.WritePropertyName("byte");
|
||||
JsonSerializer.Serialize(writer, formatTest.ByteProperty, jsonSerializerOptions);
|
||||
writer.WriteString("date", formatTest.Date.ToString(this.DateFormat));
|
||||
writer.WritePropertyName("dateTime");
|
||||
JsonSerializer.Serialize(writer, formatTest.DateTime, jsonSerializerOptions);
|
||||
writer.WriteString("date", formatTest.Date.ToString(DateFormat));
|
||||
writer.WriteString("dateTime", formatTest.DateTime.ToString(DateTimeFormat));
|
||||
writer.WritePropertyName("decimal");
|
||||
JsonSerializer.Serialize(writer, formatTest.DecimalProperty, jsonSerializerOptions);
|
||||
writer.WriteNumber("double", formatTest.DoubleProperty);
|
||||
|
@ -131,6 +131,11 @@ namespace Org.OpenAPITools.Model
|
||||
/// </summary>
|
||||
public class MixedPropertiesAndAdditionalPropertiesClassJsonConverter : JsonConverter<MixedPropertiesAndAdditionalPropertiesClass>
|
||||
{
|
||||
/// <summary>
|
||||
/// The format to use to serialize DateTime
|
||||
/// </summary>
|
||||
public static string DateTimeFormat { get; set; } = "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK";
|
||||
|
||||
/// <summary>
|
||||
/// A Json reader.
|
||||
/// </summary>
|
||||
@ -200,8 +205,7 @@ namespace Org.OpenAPITools.Model
|
||||
{
|
||||
writer.WriteStartObject();
|
||||
|
||||
writer.WritePropertyName("dateTime");
|
||||
JsonSerializer.Serialize(writer, mixedPropertiesAndAdditionalPropertiesClass.DateTime, jsonSerializerOptions);
|
||||
writer.WriteString("dateTime", mixedPropertiesAndAdditionalPropertiesClass.DateTime.ToString(DateTimeFormat));
|
||||
writer.WritePropertyName("map");
|
||||
JsonSerializer.Serialize(writer, mixedPropertiesAndAdditionalPropertiesClass.Map, jsonSerializerOptions);
|
||||
writer.WriteString("uuid", mixedPropertiesAndAdditionalPropertiesClass.Uuid);
|
||||
|
@ -187,7 +187,12 @@ namespace Org.OpenAPITools.Model
|
||||
/// <summary>
|
||||
/// The format to use to serialize DateProp
|
||||
/// </summary>
|
||||
public string DatePropFormat { get; set; } = "yyyy-MM-dd";
|
||||
public static string DatePropFormat { get; set; } = "yyyy-MM-dd";
|
||||
|
||||
/// <summary>
|
||||
/// The format to use to serialize DatetimeProp
|
||||
/// </summary>
|
||||
public static string DatetimePropFormat { get; set; } = "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK";
|
||||
|
||||
/// <summary>
|
||||
/// A Json reader.
|
||||
@ -305,11 +310,13 @@ namespace Org.OpenAPITools.Model
|
||||
else
|
||||
writer.WriteNull("boolean_prop");
|
||||
if (nullableClass.DateProp != null)
|
||||
writer.WriteString("date_prop", nullableClass.DateProp.Value.ToString(this.DatePropFormat));
|
||||
writer.WriteString("date_prop", nullableClass.DateProp.Value.ToString(DatePropFormat));
|
||||
else
|
||||
writer.WriteNull("date_prop");
|
||||
writer.WritePropertyName("datetime_prop");
|
||||
JsonSerializer.Serialize(writer, nullableClass.DatetimeProp, jsonSerializerOptions);
|
||||
if (nullableClass.DatetimeProp != null)
|
||||
writer.WriteString("datetime_prop", nullableClass.DatetimeProp.Value.ToString(DatetimePropFormat));
|
||||
else
|
||||
writer.WriteNull("datetime_prop");
|
||||
if (nullableClass.IntegerProp != null)
|
||||
writer.WriteNumber("integer_prop", nullableClass.IntegerProp.Value);
|
||||
else
|
||||
|
@ -211,6 +211,11 @@ namespace Org.OpenAPITools.Model
|
||||
/// </summary>
|
||||
public class OrderJsonConverter : JsonConverter<Order>
|
||||
{
|
||||
/// <summary>
|
||||
/// The format to use to serialize ShipDate
|
||||
/// </summary>
|
||||
public static string ShipDateFormat { get; set; } = "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK";
|
||||
|
||||
/// <summary>
|
||||
/// A Json reader.
|
||||
/// </summary>
|
||||
@ -292,8 +297,7 @@ namespace Org.OpenAPITools.Model
|
||||
writer.WriteNumber("id", order.Id);
|
||||
writer.WriteNumber("petId", order.PetId);
|
||||
writer.WriteNumber("quantity", order.Quantity);
|
||||
writer.WritePropertyName("shipDate");
|
||||
JsonSerializer.Serialize(writer, order.ShipDate, jsonSerializerOptions);
|
||||
writer.WriteString("shipDate", order.ShipDate.ToString(ShipDateFormat));
|
||||
var statusRawValue = Order.StatusEnumToJsonValue(order.Status);
|
||||
if (statusRawValue != null)
|
||||
writer.WriteString("status", statusRawValue);
|
||||
|
Loading…
x
Reference in New Issue
Block a user