#wcf #wcf-rest
#wcf #wcf-rest
Вопрос:
У меня есть служба WCF, использующая протокол REST.
Код:
[ServiceContract]
public interface IHybridService
{
[OperationContract]
[WebInvoke(Method = "GET", UriTemplate = "/hybridservice/compositedata/{value}", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Bare)]
CompositeType GetDataUsingDataContract(string value);
}
[DataContract]
public class CompositeType
{
List<Data> data = new List<Data>();
public CompositeType()
{
data.Add(new Data() { Id= 1, Value = "test1" });
}
[DataMember]
public List<Data> DataList
{
get { return data; }
set { data = value; }
}
}
public class Data
{
[DataMember(Name = "DataID")]
public int Id { get; set; }
public string Value { get; set; }
}
В настоящее время он возвращает следующий вывод:
{
"DataList": [
{
"Id": 1,
"Value": "test1"
}
]
}
Как я могу изменить значение Id
внутри DataList
на DataID
? Я пытался [DataMember(Name = "DataID")]
, но это не работает. Я не хочу изменять свойство c # DataID
на, чтобы оно работало.
Ответ №1:
Нашел причину, мне пришлось объявить Data
класс как [DataContract]
.