Веб-сервис.
Как для GET метода передать кастомный тип объекта во входных параметрах?
Есть тип:
[DataContract]
public class SomeType {
[DataMember]
public string path { get; set; }
[DataMember]
public string als { get; set; }
}
Есть метод:
[OperationContract]
[WebInvoke(Method = "GET",
RequestFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Wrapped,
ResponseFormat = WebMessageFormat.Json,
UriTemplate = "/ping/{s}")]
[return: MessageParameter(Name = "data")]
public object Pong(string s, SomeType SomeData) {
return JsonConvert.SerializeObject(SomeData);
}
При попытке отправить гет запрос через постман и передать данные, получаем всегда ответ:
"data": "{\"path\":null,\"als\":null}
Что по факту равно если вообще не передавать параметр.
Но если мы делаем метод POST и передаем в теле этот же параметр вот так:
{
"SomeData": {
"path": "Name",
"als": "name"
}
}
То работает, чего я не понимаю?