Skip to content

Commit 5ce1943

Browse files
Merge pull request #159 from TimeWarpEngineering/Cramer/2019-08-04/UseJsonSerializerOptions
JsonSerializerOptions
2 parents 0b1f47d + f02463b commit 5ce1943

3 files changed

Lines changed: 20 additions & 4 deletions

File tree

.mailmap

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
Logan R. Golema <partnerships@lrgeometry.us>
2+
Steven T. Cramer <Steven.Cramer@TimeWarp.Enterprises> <Steve.Cramer@TimeWarp.Enterprises>
3+
Steven T. Cramer <Steven.Cramer@TimeWarp.Enterprises> <Steven.Cramer@LceCorp.com>
4+
Steven T. Cramer <Steven.Cramer@TimeWarp.Enterprises> <SteveTCramer@gmail.com>
5+
Steven T. Cramer <Steven.Cramer@TimeWarp.Enterprises> <StevenTCramer@gmail.com>
6+
Steven T. Cramer <Steven.Cramer@TimeWarp.Enterprises> Steven Cramer <Steven.Cramer@TimeWarp.Enterprises>
7+
Steven T. Cramer <Steven.Cramer@TimeWarp.Enterprises> StevenTCramer <Steven.Cramer@TimeWarp.Enterprises>
8+
Stefan L. Bemelmans <StefanLBemelmans@gmail.com> <stackbaxter@yahoo.com>
9+
Stefan L. Bemelmans <StefanLBemelmans@gmail.com><stefan@herc.one>

source/BlazorState/Features/JavaScriptInterop/JsonRequestHandler.cs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,25 @@
1212

1313
public class JsonRequestHandler
1414
{
15-
public JsonRequestHandler(
15+
public JsonRequestHandler
16+
(
1617
ILogger<JsonRequestHandler> aLogger,
1718
IMediator aMediator,
18-
IJSRuntime aJSRuntime)
19+
IJSRuntime aJSRuntime,
20+
JsonSerializerOptions aJsonSerializerOptions
21+
)
1922
{
2023
Logger = aLogger;
2124
Logger.LogDebug($"{GetType().Name}: constructor");
2225
Mediator = aMediator;
2326
JSRuntime = aJSRuntime;
27+
JsonSerializerOptions = aJsonSerializerOptions;
2428
}
2529

2630
private ILogger Logger { get; }
2731
private IMediator Mediator { get; }
2832
private IJSRuntime JSRuntime { get; }
33+
private JsonSerializerOptions JsonSerializerOptions { get; }
2934

3035
/// <summary>
3136
/// This will handle the Javascript interop
@@ -45,7 +50,7 @@ public async void Handle(string aRequestTypeAssemblyQualifiedName, string aReque
4550
else
4651
Logger.LogDebug($"{GetType().Name}: Type ({aRequestTypeAssemblyQualifiedName}) was found");
4752

48-
object instance = JsonSerializer.Deserialize(aRequestAsJson, requestType);
53+
object instance = JsonSerializer.Deserialize(aRequestAsJson, requestType, JsonSerializerOptions);
4954

5055
_ = await SendToMediator(requestType, instance);
5156
}

test/TestApp.Client.Integration.Tests/Features/JavaScriptInterop/JsonRequestHandlerTests.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,11 @@ public JsonRequestHandlerTests(TestFixture aTestFixture)
1717
JsonRequestHandler = ServiceProvider.GetService<JsonRequestHandler>();
1818
Store = ServiceProvider.GetService<IStore>();
1919
CounterState = Store.GetState<CounterState>();
20+
JsonSerializerOptions = ServiceProvider.GetService<JsonSerializerOptions>();
2021
}
2122

2223
private CounterState CounterState { get; set; }
24+
private JsonSerializerOptions JsonSerializerOptions { get; }
2325
private IServiceProvider ServiceProvider { get; }
2426
private IStore Store { get; }
2527
private JsonRequestHandler JsonRequestHandler { get; }
@@ -35,7 +37,7 @@ public void ShouldPerformAction()
3537
Amount = 5
3638
};
3739

38-
string requestAsJson = JsonSerializer.Serialize(incrementCounterAction);
40+
string requestAsJson = JsonSerializer.Serialize(incrementCounterAction, JsonSerializerOptions);
3941
int preActionCount = CounterState.Count;
4042

4143
//Act

0 commit comments

Comments
 (0)