ServiceStack フレームワークを使用して RESTful API を構築しています。更新が必要なリソースの多くは非常に大きく、クラスごとに最大 40 個の属性があるため、リソース全体を置き換えるのではなく、部分的な更新を行いたいと考えています。多くの場合、クライアントは 40 個の属性のうち 1 つまたは 2 つの属性のみを更新する必要があるため、いくつかの属性で構成される JSON 本文のみを送信したいと考えています。
属性のすべての組み合わせが可能であるため、ここで提案されているように、クラスごとに「更新」クラスを作成することは現実的ではありません: https://github.com/ServiceStack/ServiceStack/wiki/New-Api#patch-request-example
Microsoft ASP.NET WebAPI OData パッケージには、クラスのサブセットを取り、このサブセットに基づいてリソースを更新する Delta クラスがあります ( http://www.strathweb.com/2013/01/easy-asp-net- web-api-resource-updates-with-delta/ )。これは私が望んでいる機能です。かなりの数のクラスを使用するため、ジェネリック メソッドが最適です。
基本的に、クラスがある場合
public class MyClass {
public int a { get; set; }
public int b { get; set; }
...
public int z { get; set; }
}
MyClass のリソースを body 付きの PATCH リクエストで更新したい
{"a":42,"c":42}
ServiceStack でこれを達成するための標準的または推奨される方法はありますか?