[英]ASP.NET omit specific variable in response?
In ApiController subclass, 在ApiController子类中,
[HttpGet]
public HttpResponseMessage api()
{
//somecode
Res res = new Res();
return Request.CreateResponse(200, res);
}
And Res class, 还有Res类
public class Res{
Public Meta meta{get;set;}
Public Data data{get;set;}
}
In case of some http status code such as 401, 500, I want to omit data variable. 在某些http状态代码(例如401、500)的情况下,我想省略data变量。
200 ok 200 OK
{ meta:{...}, data:{...}}
500 internal server error { meta:{...}} 500内部服务器错误{meta:{...}}
How to omit data variable? 如何忽略数据变量? remove variable in class?
删除类中的变量? use ExpandoObject()?
使用ExpandoObject()?
You could use: 您可以使用:
public class Res{
Public Meta meta{get;set;}
[JsonIgnore]
Public Data data{get;set;}
}
Or, decorate the ones you want... 或者,装饰您想要的...
[DataContract]
public class Res{
[DataMember]
Public Meta meta{get;set;}
Public Data data{get;set;}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.