ハロの外部記憶インターフェイス

そろそろ覚える努力が必要かも…

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}