Игнорирование свойства в классе для ресурса ответа - Openrasta - PullRequest
2 голосов
/ 08 августа 2011

Я использую каркас Openrasta. У меня есть простой POCO, который используется в моем API, и он будет отправлен как ResponseResource клиенту. Это выглядит ниже:

Public class User
{
  Public int Id { get; set; }
  Public string Name { get; set; }
  Public string Code { get; set; }
}

При отправке ответа пользователю я не хочу отправлять свойство "Id" обратно пользователю. Как я могу сделать openrasta serialzers, чтобы игнорировать это свойство? Я попытался поместить атрибут XmlIgnore для этого свойства, но оно не сработало.

Есть идеи?

1 Ответ

4 голосов
/ 08 августа 2011

Поскольку [XmlIgnore] не работает, я предполагаю , что вы используете кодеки Json или XmlDataContract . Они основаны на DataContractSerializer, и в этом случае механизм управления сериализацией заключается в маркировке типа как [DataContract], и в этот момент включение становится opt в , а не автоматически, т.е.

[DataContract]
public class User
{
  public  int Id { get; set; }
  [DataMember]
  public string Name { get; set; }
  [DataMember]
  public string Code { get; set; }
}
...