Я предоставляю услугу, используя такой код:
// Set up the test service
testServiceHost = new WebServiceHost(typeof(TestTrelloService), testServiceAddress);
testServiceHost.Open();
И я отправляю PUT с RestSharp, к методу, подобному этому:
[OperationContract]
[WebInvoke(Method = "PUT", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare, UriTemplate = "cards/{cardId}?key={key}")]
public void UpdateCard(string key, string cardId, Card updatedCard)
{
// ...
}
key
и cardId
поступают из строки url / query, а updatedCard - это тело запроса (с JSON).
Все работает нормально, если мой класс Card выглядит следующим образом:
public class Card
{
public string id { get; set; }
// ...
}
Данные JSON, передаваемые в теле, правильно десериализованы в объект Card
с установленным свойством id
.
Однако я хочу, чтобы у моего класса был другой регистр на имущество. На самом деле это выглядит так:
public class Card
{
public string Id { get; set; }
}
Однако это не работает. Я попытался добавить различные атрибуты, чтобы попытаться контролировать это (включая [DataMember(Name="id")]
), но, похоже, ничего не работает.
Есть ли способ управления именами свойств для десериализации JSON, выполненной для моего WebInvoke
/ service метода?