Это мой первый сервис REST, в основном это самообслуживаемая служба, которая прослушивает порт для вызова PUT, который будет иметь полезную нагрузку данных JSON. Я хочу преобразовать это в собственный объект, я думал, что сериализатор может сделать это автоматически, но он не работает.WCF PUT - тело JSON для объекта
Это так же работа для меня: WCF REST Service JSON Post data
я могу получить данные в формате JSON как поток и выводит его в журнал просто отлично, но теперь мне интересно, если WCF может автоматически поместить данные в формате JSON для моего объекта ,
Данные JSON - это.
{
"ID": 639073,
"PatientFirst": "John",
"PatientLast": "Smith",
"Birthdate": "1/1/2000",
"PtEmail":"[email protected]",
"Sex": "F",
"mrn": ""
}
У меня есть класс ApptData, который является этим.
[DataContract]
class ApptData {
[DataMember]
internal string ID = "";
[DataMember]
internal string PatientFirst = "";
[DataMember]
internal string PatientLast = "";
[DataMember]
internal string Birthdate = "";
[DataMember]
internal string PtEmail = "";
[DataMember]
internal string Sex = "";
[DataMember]
internal string mrn = "";
public ApptData() { }
}
И iContract это. Я хочу использовать материал, который прокомментирован.
[ServiceContract]
interface iContract
{
[OperationContract]
[WebInvoke(Method = "PUT", UriTemplate = "CheckinPUT", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json)]
[OperationContract]
//Stream PatientCheckinWithDemos(ApptData data);
Stream PatientCheckinWithDemos(Stream streamdata);
}
Можете ли вы опубликовать код для десериализации JSON? Даже если он не работает? И из любопытства, почему вы используете поля вместо свойств? – Tim
Это в основном мой вопрос, мне нужно создать код для десериализации или есть способ сделать это несколько легко? – Rob
'мне нужно создать код для десериализации или есть способ сделать это несколько легко?' Нет, ваш комментарий интерфейс является правильным способом, и он должен работать. Если я правильно помню, вы должны использовать 'WebHttpBinding'. –