diff --git a/Activout.RestClient.Newtonsoft.Json.Test/RestClientTests.cs b/Activout.RestClient.Newtonsoft.Json.Test/RestClientTests.cs index 6dfd237..fe34ad3 100644 --- a/Activout.RestClient.Newtonsoft.Json.Test/RestClientTests.cs +++ b/Activout.RestClient.Newtonsoft.Json.Test/RestClientTests.cs @@ -197,7 +197,7 @@ public async Task TestPostJsonAsync() .Respond(request => { var content = request.Content!.ReadAsStringAsync().Result; - content = content.Replace("\"ReviewId\":null", "\"ReviewId\":\"*REVIEW_ID*\""); + content = content.Replace("{", "{\"ReviewId\":\"*REVIEW_ID*\", "); return new StringContent(content, Encoding.UTF8, "application/json"); }); diff --git a/Activout.RestClient.Newtonsoft.Json/NewtonsoftJsonDefaults.cs b/Activout.RestClient.Newtonsoft.Json/NewtonsoftJsonDefaults.cs index e551508..1e4b677 100644 --- a/Activout.RestClient.Newtonsoft.Json/NewtonsoftJsonDefaults.cs +++ b/Activout.RestClient.Newtonsoft.Json/NewtonsoftJsonDefaults.cs @@ -1,5 +1,6 @@ using System.Diagnostics.CodeAnalysis; using Newtonsoft.Json; +using Newtonsoft.Json.Converters; using Newtonsoft.Json.Serialization; namespace Activout.RestClient.Newtonsoft.Json; @@ -12,21 +13,31 @@ public static class NewtonsoftJsonDefaults MediaType.ValueOf("application/json") ]; - public static readonly JsonConverter[] DefaultJsonConverters = [new SimpleValueObjectConverter()]; + public static readonly JsonConverter[] DefaultJsonConverters = + [ + new IsoDateTimeConverter(), + new SimpleValueObjectConverter(), + ]; public static readonly DefaultContractResolver CamelCasePropertyNamesContractResolver = new DefaultContractResolver { - NamingStrategy = new CamelCaseNamingStrategy() + NamingStrategy = new CamelCaseNamingStrategy(false, false) }; public static readonly JsonSerializerSettings DefaultJsonSerializerSettings = new() { - Converters = DefaultJsonConverters.ToList() + Converters = [new StringEnumConverter(), ..DefaultJsonConverters], + NullValueHandling = NullValueHandling.Ignore }; public static readonly JsonSerializerSettings CamelCaseSerializerSettings = new() { - Converters = DefaultJsonConverters.ToList(), + Converters = + [ + new StringEnumConverter(CamelCasePropertyNamesContractResolver.NamingStrategy!), + ..DefaultJsonConverters + ], ContractResolver = CamelCasePropertyNamesContractResolver, + NullValueHandling = NullValueHandling.Ignore }; } \ No newline at end of file diff --git a/Activout.RestClient.Newtonsoft.Json/RestClientBuilderNewtonsoftJsonExtensions.cs b/Activout.RestClient.Newtonsoft.Json/RestClientBuilderNewtonsoftJsonExtensions.cs index dc8dc5d..5dd23a7 100644 --- a/Activout.RestClient.Newtonsoft.Json/RestClientBuilderNewtonsoftJsonExtensions.cs +++ b/Activout.RestClient.Newtonsoft.Json/RestClientBuilderNewtonsoftJsonExtensions.cs @@ -1,6 +1,4 @@ using Newtonsoft.Json; -using System.Collections.Immutable; -using System.Diagnostics.CodeAnalysis; namespace Activout.RestClient.Newtonsoft.Json;