Я создаю веб-службу RESTful с новым Microsoft MVC 4 Класс ApiController и WebAPI. У меня есть класс Person:
public class Person
{
public string surname { get; set; }
public string name{ get; set; }
}
и метод HTTP GET по умолчанию работает, возвращая следующее:
<Person xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<surname>John</surname>
<name>Titor</name>
</Person>
Теперь мне нужен набор аннотаций, который позволит мне изменить имена внутренних объектов по умолчанию, например, я хотел бы изменить surname на msurname. Я попытался добавить следующее:
[XmlElement("msurname")]
аннотацию, но это работает только в том случае, если заголовок Accept моего запроса содержит application/xml (конечно). Я попробовал и использовал аннотацию [DataMember], которая полностью игнорируется.
Есть ли набор аннотаций, который я могу использовать с этим ApiController в WebAPI для сериализации в форматах XML и JSON? Спасибо.
EDIT: исправление, если я использую аннотацию [DataMember] и [DataContract], я получаю желаемое поведение с сериализацией JSON, но не с XML. Противоположное происходит, если я использую [XmlElement].