/// <summary> /// Configures swagger to use NodaTime types. /// Uses NewtonsoftJson for serialization aspects. /// </summary> /// <param name="config">SwaggerGenOptions.</param> /// <param name="serializerSettings">Optional serializer settings.</param> /// <param name="shouldGenerateExamples">Optional if we should generate examples</param> /// <param name="configureSerializerSettings">Optional action to configure serializerSettings.</param> /// <param name="dateTimeZoneProvider">Optional DateTimeZoneProviders.</param> public static void ConfigureForNodaTime( this SwaggerGenOptions config, JsonSerializerSettings serializerSettings = null, bool shouldGenerateExamples = true, Action <JsonSerializerSettings> configureSerializerSettings = null, IDateTimeZoneProvider dateTimeZoneProvider = null) { serializerSettings = serializerSettings ?? new JsonSerializerSettings(); configureSerializerSettings?.Invoke(serializerSettings); bool isNodaConvertersRegistered = serializerSettings.Converters.Any(converter => converter is NodaConverterBase <Instant>); if (!isNodaConvertersRegistered) { serializerSettings.ConfigureForNodaTime(dateTimeZoneProvider ?? DateTimeZoneProviders.Tzdb); } var nodaTimeSchemaSettings = serializerSettings.CreateNodaTimeSchemaSettingsForNewtonsoftJson(shouldGenerateExamples); config.ConfigureForNodaTime(nodaTimeSchemaSettings); }
public void Sum() { Schemas schemas = new SchemasFactory(_serializerSettings.CreateNodaTimeSchemaSettingsForNewtonsoftJson()).CreateSchemas(); }