本文介绍了我们如何在WebAPI中隐藏属性?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在下面说一个模型
public class Device
{
public int DeviceId { get; set; }
public string DeviceTokenIds { get; set; }
public byte[] Data { get; set; }
public string FilePwd { get; set; }
}
现在我有一个ASP.net Web API,其中有POST方法如下
Now I have a ASP.net Web API where there is a POST method as under
[HttpPost]
[Route("AddDeviceRegistrations")]
public void InsertDeviceRegistrations(Device device)
如果我公开了WebAPI,显然所有字段都将可用,例如
If I expose the WebAPI, obviously all the fields will be available e.g.
{
"DeviceId": 1,
"DeviceTokenIds": "sample string 2",
"Data": "QEBA",
"FilePwd": "sample string 3"
}
我想要的是,每当我公开WebAPI时,都不应公开DeviceID。我的意思是我正在寻找
What I want is that, whenever I expose my WebAPI, the DeviceID should not get expose. I mean I am looking for
{
"DeviceTokenIds": "sample string 2",
"Data": "QEBA",
"FilePwd": "sample string 3"
}
有可能吗?
我可以通过将函数签名更改为
I can solve the problem by changing the function signature as
public void InsertDeviceRegistrations(string deviceTokenIds, byte[] data, string FilePwd).
但是我想知道是否可能?
如果是这样,怎么办?
But I wanted to know if it can be possible or not ?If so , how?
预先感谢。
推荐答案
我刚刚弄清楚了
[IgnoreDataMember]
public int DeviceId { get; set; }
名称空间为 System.Runtime.Serialization
更多信息
今天学到一些新知识。
谢谢。
这篇关于我们如何在WebAPI中隐藏属性?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!