在MVC 4中更改REST方法响应XML节点名称
本文关键字:XML 响应 节点 方法 REST MVC | 更新日期: 2023-09-27 18:26:11
我们正在使用MVC4和添加的方法构建REST服务,如:
public IEnumerable<Contact> GetAllContacts()
{
return repository.GetAll();
}
此方法在XML中的响应生成为:
<ArrayOfContact xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Contact>
<Id>1</Id>
<Name>Alice</Name>
<Email>alice@example.com</Email>
</Contact>
<Contact>
<Id>2</Id>
<Name>Bob</Name>
<Email>bob@example.com</Email>
</Contact>
<Contact>
<Id>3</Id>
<Name>Charles</Name>
<Email>charles@example.com</Email>
</Contact>
</ArrayOfContact>
我想更改标签<联系人安排>至<联系人>。我知道如果它是一个类的属性,那么我们可以向属性添加属性来更改它
但是有可能更改响应的根节点吗?
创建一个classe Contacts很容易修复它。
[DataContract(Namespace = "a namespace",Name="Contacts")]
public class Contacts
{
private List<Contact> contacts= null;
[DataMember]
public List<Contact> Contacts
{
get
{
if (contacts == null)
{
contacts = new List<Contact>();
}
return contacts;
}
set
{
contacts= value;
}
}
}
然后您将得到一个具有所需标头的XML。