/// <summary> /// Configure System.Text.Json with defaults for launchpad /// </summary> /// <param name="options"></param> /// <param name="dateTimeZoneProvider"></param> /// <returns></returns> public static JsonSerializer ConfigureNodaTimeForLaunchPad(this JsonSerializer options, IDateTimeZoneProvider dateTimeZoneProvider) { options.Converters.Add(new StringEnumConverter(new CamelCaseNamingStrategy())); options.ConfigureForNodaTime(dateTimeZoneProvider); ReplaceConverters(options.Converters, dateTimeZoneProvider); return(options); }
public JsonSerializer CreateJsonSerializer() { var jsonSerializer = new JsonSerializer(); jsonSerializer.ConfigureForNodaTime(DateTimeZoneProviders.Tzdb); jsonSerializer.NullValueHandling = NullValueHandling.Ignore; jsonSerializer.ContractResolver = new CamelCasePropertyNamesContractResolver(); return(jsonSerializer); }
private static JsonSerializer CreateSerializer() { var serializer = new JsonSerializer(); serializer.ConfigureForNodaTime(DateTimeZoneProviders.Tzdb); serializer.NullValueHandling = NullValueHandling.Ignore; serializer.ReferenceLoopHandling = ReferenceLoopHandling.Serialize; serializer.PreserveReferencesHandling = PreserveReferencesHandling.Objects; serializer.TypeNameAssemblyFormatHandling = TypeNameAssemblyFormatHandling.Simple; serializer.TypeNameHandling = TypeNameHandling.Auto; return(serializer); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddSingleton(x => { var js = new JsonSerializer(); js.ConfigureForNodaTime(XmlSerializationSettings.DateTimeZoneProvider).WithIsoIntervalConverter(); return(js); }); services.AddSignalR(); services.AddMvc() .AddNewtonsoftJson(options => { options.SerializerSettings.ConfigureForNodaTime(XmlSerializationSettings.DateTimeZoneProvider).WithIsoIntervalConverter().WithIsoDateIntervalConverter(); }).AddControllersAsServices(); services.RegisterInfrastructure(this.Configuration.GetConnectionString("EventStore")); services.AddCors(options => { options.AddPolicy("CorsPolicy", builder => builder.AllowAnyOrigin() .AllowAnyMethod() .AllowAnyHeader() .AllowCredentials()); }); services.AddAuthorization(options => { options.AddPolicy("TeamMember", policy => policy.AddRequirements(new TeamMemberRequirement())); }); services.AddSingleton <IAuthorizationHandler, TeamMemberHandler>(); ConfigureMediatR(services); }