From 291461f01f7f8ac8e6191b49b57e433ccaf12f2a Mon Sep 17 00:00:00 2001 From: "Collin M. Barrett" Date: Sun, 9 Feb 2020 16:01:42 -0600 Subject: [PATCH] rm Newtonsoft json --- .../Extensions/ConfigureServicesCollection.cs | 8 +---- .../FilterLists.Api/FilterLists.Api.csproj | 1 - .../SkipEmptyContractResolver.cs | 35 ------------------- 3 files changed, 1 insertion(+), 43 deletions(-) delete mode 100644 server/src/FilterLists.Api/SkipEmptyContractResolver.cs diff --git a/server/src/FilterLists.Api/DependencyInjection/Extensions/ConfigureServicesCollection.cs b/server/src/FilterLists.Api/DependencyInjection/Extensions/ConfigureServicesCollection.cs index b169edaf6..69e6f035d 100644 --- a/server/src/FilterLists.Api/DependencyInjection/Extensions/ConfigureServicesCollection.cs +++ b/server/src/FilterLists.Api/DependencyInjection/Extensions/ConfigureServicesCollection.cs @@ -2,7 +2,6 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.DependencyInjection; -using Newtonsoft.Json; namespace FilterLists.Api.DependencyInjection.Extensions { @@ -27,12 +26,7 @@ private static void ConfigureCookiePolicy(this IServiceCollection services) => private static void AddControllersCustom(this IServiceCollection services) => services.AddControllers() - .SetCompatibilityVersion(CompatibilityVersion.Version_3_0) - .AddNewtonsoftJson(opts => - { - opts.SerializerSettings.NullValueHandling = NullValueHandling.Ignore; - opts.SerializerSettings.ContractResolver = new SkipEmptyContractResolver(); - }); + .SetCompatibilityVersion(CompatibilityVersion.Latest); private static void AddRoutingCustom(this IServiceCollection services) => services.AddRouting(opts => opts.LowercaseUrls = true); diff --git a/server/src/FilterLists.Api/FilterLists.Api.csproj b/server/src/FilterLists.Api/FilterLists.Api.csproj index 84c70539b..26512128e 100644 --- a/server/src/FilterLists.Api/FilterLists.Api.csproj +++ b/server/src/FilterLists.Api/FilterLists.Api.csproj @@ -39,7 +39,6 @@ - all diff --git a/server/src/FilterLists.Api/SkipEmptyContractResolver.cs b/server/src/FilterLists.Api/SkipEmptyContractResolver.cs deleted file mode 100644 index 1c5e083a1..000000000 --- a/server/src/FilterLists.Api/SkipEmptyContractResolver.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System; -using System.Collections; -using System.Reflection; -using Humanizer; -using Newtonsoft.Json; -using Newtonsoft.Json.Serialization; - -namespace FilterLists.Api -{ - // REF: https://stackoverflow.com/a/18486790/2343739 - public class SkipEmptyContractResolver : DefaultContractResolver - { - protected override JsonProperty CreateProperty(MemberInfo member, MemberSerialization memberSerialization) - { - var property = base.CreateProperty(member, memberSerialization); - property.PropertyName = property.PropertyName.Camelize(); - var isDefaultValueIgnored = - ((property.DefaultValueHandling ?? DefaultValueHandling.Ignore) & DefaultValueHandling.Ignore) != 0; - if (!isDefaultValueIgnored || typeof(string).IsAssignableFrom(property.PropertyType) || - !typeof(IEnumerable).IsAssignableFrom(property.PropertyType)) - return property; - - bool NewShouldSerialize(object obj) - { - return !(property.ValueProvider.GetValue(obj) is ICollection collection) || collection.Count != 0; - } - - var oldShouldSerialize = property.ShouldSerialize; - property.ShouldSerialize = oldShouldSerialize != null - ? o => oldShouldSerialize(o) && NewShouldSerialize(o) - : (Predicate)NewShouldSerialize; - return property; - } - } -} \ No newline at end of file