Я создаю веб-службу 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]
.
, происходит обратное