C# REST服务中POST中的JSON Ignore属性

C# REST服务中POST中的JSON Ignore属性,c#,json,rest,asp.net-web-api,C#,Json,Rest,Asp.net Web Api,我的服务接近于休息,但不是真正的休息。 我的服务中的每个方法通常都有一个对象,但在这种情况下我不能(管理限制,而不是技术限制)。 我面临一个问题。我有两种方法使用这些签名: [HttpGet] public MyViewModel GetTheViewModel() { ... } 及 现在,我需要的是MyViewModel中的一些属性在GET中可见并序列化,但我想对POST方法隐藏它们。你知道这是否可能吗 谢谢我个人会创建一个单独的模型来表示您希望能够修改的数据。一旦您将MyViewMode

我的服务接近于休息,但不是真正的休息。 我的服务中的每个方法通常都有一个对象,但在这种情况下我不能(管理限制,而不是技术限制)。 我面临一个问题。我有两种方法使用这些签名:

[HttpGet]
public MyViewModel GetTheViewModel() { ... }

现在,我需要的是
MyViewModel
中的一些属性在
GET
中可见并序列化,但我想对
POST
方法隐藏它们。你知道这是否可能吗


谢谢

我个人会创建一个单独的模型来表示您希望能够修改的数据。一旦您将
MyViewModel
传递到
ModifyTheViewModel
的内容之外,它就无法理解某些字段为
null
等的原因

public class MyViewModel : MyModel
{
  public int Age { get; set; }
}

public class MyModel
{
  public string FirstName { get; set; }

  public string LastName { get; set; }
}


[HttpGet]
public MyViewModel GetTheViewModel() { ... }


[HttpPost]
public void ModifyTheViewModel(MyModel input)

为每个方法创建一个包含公共字段的基类和两个单独的类,仅用于您希望公开的字段我同意您的意见。。。我通常也分开模型。。。但是我不能。。。即使我玩继承的游戏,就好像我有两个不同的类。我曾希望像
JsonIgnore
这样的东西存在
public class MyViewModel : MyModel
{
  public int Age { get; set; }
}

public class MyModel
{
  public string FirstName { get; set; }

  public string LastName { get; set; }
}


[HttpGet]
public MyViewModel GetTheViewModel() { ... }


[HttpPost]
public void ModifyTheViewModel(MyModel input)