Api側のJson Serializeを標準からNewtonsoft.Jsonへ変更
標準JsonSerializeではNull項目などすべての項目をJsonにして返しているため、通信量に無駄が多くなる。
なのでNewtonsoft.Jsonを適用し通信量を節約する
Microsoft.AspNetCore.Mvc.NewtonsoftJsonを追加
Nugetから「Microsoft.AspNetCore.Mvc.NewtonsoftJson」を追加
ただし、.NETバージョンによって対応バージョンにちがいが存在。
.NET8では8.0.21をインストールする。
.NET9以降では最新で問題ないと思われる。
Program.cs
AddNewtonsoftJsonを追加し、シリアライズ設定を追加する。
builder.Services.AddControllers()
.AddNewtonsoftJson(option =>
{
option.SerializerSettings.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore;
option.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
option.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.Objects;
});
MS標準の場合、
{"menuId":1001,"menuName":"メニュー1","menuGroupCd":1,"displayOrder":1,"createdAt":"2025-10-06T00:00:00","createdBy":"SYSTEM","updatedAt":null,"updatedBy":null,"deletedAt":null,"deleteddBy":null,"versionNo":0}
NewtonsoftJsonの場合、
{"$id":"1","menuId":1001,"menuName":"メニュー1","menuGroupCd":1,"displayOrder":1,"createdAt":"2025-10-06T00:00:00","createdBy":"SYSTEM","versionNo":0}