У меня проблемы с обновлениями в клиенте Api C #, сгенерированном с помощью NSwag, и с использованием глагола HTTP PUT.
Допустим, у меня есть DTO с именем customer
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 будет стираться каждый раз, когда устаревший клиент пытается что-то обновить.
Есть ли решение, чтобы мне не приходилось обновлять мой код клиента для каждого нового простого поля, которое я хочу добавить?