【发布时间】:2018-05-23 13:19:33
【问题描述】:
我需要在 REST 响应中获取子集。我怎么能做到这一点? 例如,我们有类:
[DataContract]
public class Response
{
[DataMember]
public string id { get; set; }
[DataMember]
public string href { get; set; }
[DataMember]
public string name { get; set; }
}
还有变量bool flag
在我的回复中,如果flag 等于true,我只需要href 和id 字段。如果flag 等于false,我应该返回所有字段。
我的GET方法是通过代码实现的:
public interface IRestServiceImpl
{
[OperationContract]
[WebInvoke(Method = "GET",
ResponseFormat = WebMessageFormat.Json,
RequestFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Bare,
UriTemplate = "Response/{*id}?fields={fieldsParam}")]
}
此功能需要支持fields 请求参数。
我发现EmitDefaultValue 属性用于非序列化,但它只适用于默认值。
我应该自定义序列化程序还是数据属性?
【问题讨论】:
标签: c# rest serialization request response