如何解决WCF REST格式输出
我有一个使用REST协议的WCF服务。
代码:
[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
以使其正常工作。
解决方法
找到原因,我不得不将Data
类声明为[DataContract]
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。