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)