我正在使用 ServiceStack 框架构建一个 RESTful API。我需要更新的很多资源都很大,每个类最多有 40 个属性,所以我想做部分更新而不是替换整个资源。通常客户端只需要更新 40 个属性中的一两个属性,所以我想只发送一个由少数属性组成的 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; }
}
我想用带有正文的 PATCH 请求更新 MyClass 的资源
{"a":42,"c":42}
使用 ServiceStack 是否有标准或推荐的方法来完成此任务?