Разный набор полей для разных функций
Есть две функции, которые обращаются к API. Одна с методом POST
, вторая - PATCH
.
Для обеих используется один класс, который включает поля
public class Attribute
{
[JsonProperty]
public string attribute_name { get; set; }
[JsonProperty]
public string attribute_value { get; set; }
[JsonProperty]
public string value { get; set; }
}
Не обращайте внимание на нейминг, я вот такой ленивый человек и просто забил на это пока.
При отправке данных в виде json
с методом POST
я просто собираю данные и устанавливаю контент
var content = JsonConvert.SerializeObject(attribute); // attribute - объект класса Attribute
Для обновления записи я хочу использовать тот же самый класс, но хочу исключить поле attribute_value
и отправлять только value
и attribute_name
. Поскольку я получаю объект со всеми полями, я не могу установить свойство NullValueHandling.Ignore
, поскольку оно точно будет не нулевым. Я не могу использовать [JsonIgnore]
, поскольку этот же самый класс используется для метода POST
.
Есть готовый объект, можно ли указать поле класса, которое я хочу не включать в json
при сериализации? Удалить из объекта?