JSON在REST服务中仅在POST中忽略属性

时间:2017-06-09 08:08:53

标签: c# json rest asp.net-web-api

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

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

[HttpPost]
public void ModifyTheViewModel(MyViewModel input)

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

谢谢

1 个答案:

答案 0 :(得分:0)

我个人创建了一个单独的模型来表示您希望能够修改的数据。在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)