我有一个使用WCF WinAPI开发的Rest API。
public class paramval
{
string name;
}
[ServiceContract]
public class myQuery
{
[WebInvoke(UriTemplate = "{systemCode}/{objectID}", Method = "POST")]
public myResult Get(string systemCode, int objectID, paramval pval)
{
}
}
pval的值始终为null。
我正在使用WCF Web API测试客户端工具。
URL: http://localhost:11556/api/contacts/abc/111
Request: POST
Headers: Accept:*/*
Content-Type:application/json
Content-Length:16
Body {"name":"Frank"}
有什么想法吗?
答案 0 :(得分:1)
尝试使用DataContractAttribute
和DataMemberAttribute
为您的班级添加注释,并使用Name
的公共属性(更改的类和属性名称以使用pascal大小写):
[DataContract]
public class ParamVal
{
[DataMember(Name = "name")]
public string Name { get; set; }
}
答案 1 :(得分:0)
您的UriTemplate
仅指定systemCode
和objectID
的映射。是否需要添加到模板中以提取paramval
的Name属性的值?