Мне нужно получить подмножество в ответе 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
В моем ответе мне нужны только поля href
и id
, если flag
равно true
.И если 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
для не сериализации, но он работает только со значениями по умолчанию.
Должен ли я настроить сериализатор или атрибуты данных?