Skip to content

Commit e31ab16

Browse files
committed
Configure JSON serializer options
1 parent d9438c6 commit e31ab16

File tree

3 files changed

+42
-3
lines changed

3 files changed

+42
-3
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
using System.Text.Json.Serialization;
2+
3+
namespace HttpClientTestServer;
4+
5+
[JsonSerializable(typeof(string))]
6+
[JsonSerializable(typeof(Guid))]
7+
[JsonSerializable(typeof(Guid?))]
8+
[JsonSerializable(typeof(TimeSpan))]
9+
[JsonSerializable(typeof(TimeSpan?))]
10+
[JsonSerializable(typeof(DateTime))]
11+
[JsonSerializable(typeof(DateTime?))]
12+
[JsonSerializable(typeof(DateTimeOffset))]
13+
[JsonSerializable(typeof(DateTimeOffset?))]
14+
[JsonSerializable(typeof(bool))]
15+
[JsonSerializable(typeof(bool?))]
16+
[JsonSerializable(typeof(sbyte))]
17+
[JsonSerializable(typeof(short))]
18+
[JsonSerializable(typeof(int))]
19+
[JsonSerializable(typeof(long))]
20+
[JsonSerializable(typeof(byte))]
21+
[JsonSerializable(typeof(ushort))]
22+
[JsonSerializable(typeof(uint))]
23+
[JsonSerializable(typeof(ulong))]
24+
[JsonSerializable(typeof(sbyte?))]
25+
[JsonSerializable(typeof(short?))]
26+
[JsonSerializable(typeof(int?))]
27+
[JsonSerializable(typeof(long?))]
28+
[JsonSerializable(typeof(byte?))]
29+
[JsonSerializable(typeof(ushort?))]
30+
[JsonSerializable(typeof(uint?))]
31+
[JsonSerializable(typeof(ulong?))]
32+
[JsonSerializable(typeof(float))]
33+
[JsonSerializable(typeof(double))]
34+
[JsonSerializable(typeof(float?))]
35+
[JsonSerializable(typeof(double?))]
36+
public partial class HttpClientTestServerJsonSerializerContext : JsonSerializerContext;

src/HttpClientTestServer/Program.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
using HttpClientTestServer;
1+
using HttpClientTestServer;
22
using HttpClientTestServer.ConnectionState;
33
using Microsoft.AspNetCore.Server.Kestrel.Core;
44
using System.CommandLine;
55
using System.Security.Authentication;
6-
using System.Security.Cryptography.X509Certificates;
76

87
await using var server = new ServerApplication(args);
98
server.ConfigureBuilder(builder =>

src/HttpClientTestServer/ServerApplication.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using HttpClientTestServer.ConnectionState;
1+
using HttpClientTestServer.ConnectionState;
22
using HttpClientTestServer.Endpoint;
33
using HttpClientTestServer.Services;
44
using HttpClientTestServer.SessionState;
@@ -45,6 +45,10 @@ private void ConfigureBuilderDefaults()
4545
{
4646
options.EnableForHttps = true;
4747
});
48+
builder.Services.ConfigureHttpJsonOptions(options =>
49+
{
50+
options.SerializerOptions.TypeInfoResolverChain.Insert(0, HttpClientTestServerJsonSerializerContext.Default);
51+
});
4852
}
4953

5054
private void ConfigureAppDefaults()

0 commit comments

Comments
 (0)