From 8e97f5f1ea501afb27fce1c462bb0966d3a100bb Mon Sep 17 00:00:00 2001 From: crupest Date: Wed, 20 Nov 2019 19:59:06 +0800 Subject: Migrate to System.Text.Json . Format enum to string instead of number. Use ISO8601 format for datetime. --- Timeline/Startup.cs | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'Timeline/Startup.cs') diff --git a/Timeline/Startup.cs b/Timeline/Startup.cs index b2e958f9..672e5f15 100644 --- a/Timeline/Startup.cs +++ b/Timeline/Startup.cs @@ -8,11 +8,13 @@ using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using System.Collections.Generic; using System.Globalization; +using System.Text.Json.Serialization; using Timeline.Auth; using Timeline.Configs; using Timeline.Entities; using Timeline.Formatters; using Timeline.Helpers; +using Timeline.Models.Converters; using Timeline.Services; namespace Timeline @@ -36,11 +38,15 @@ namespace Timeline { setup.InputFormatters.Add(new StringInputFormatter()); }) - .ConfigureApiBehaviorOptions(options => - { - options.InvalidModelStateResponseFactory = InvalidModelResponseFactory.Factory; - }) - .AddNewtonsoftJson(); // TODO: Remove this. + .AddJsonOptions(options => + { + options.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter()); + options.JsonSerializerOptions.Converters.Add(new JsonDateTimeConverter()); + }) + .ConfigureApiBehaviorOptions(options => + { + options.InvalidModelStateResponseFactory = InvalidModelResponseFactory.Factory; + }); services.Configure(Configuration.GetSection(nameof(JwtConfig))); var jwtConfig = Configuration.GetSection(nameof(JwtConfig)).Get(); -- cgit v1.2.3