我在使用 NSwag 生成的 Api C# 客户端中的更新以及如何使用 HTTP PUT 动词时遇到问题。
假设我有一个名为 customer 的 DTO
public class CustomerDTO
{
public int id { get; set; }
public string name{ get; set; }
public string email { get; set; }
}
我有一个想要修改客户电子邮件的 C# 客户端的消费者。
因此,他创建了对 CustomerPut 的调用以替换资源。
CustomerDTO customer = await CustomerGet(); // Performs a get on the entity
customer.email = "newemail@abc.com";
await CustomerPut(customer);
暂时还好。
当我决定在 CustomerViewModel 中添加一个新字段时,问题就出现了
public class CustomerDTO
{
public int id { get; set; }
public string name{ get; set; }
public string email { get; set; }
public string? likesApples {get; set;}
}
如果我这样做,我的消费者中的代码必须更新,否则他将取消设置 likesApples 属性。这意味着每次过时的客户端尝试更新某些内容时,likesApples 的值都会被删除。
是否有解决方案,这样我就不必为要添加的每个新的简单字段更新客户端代码?