Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .Net Rest API正在检索消息正文_C#_Wcf_Json_Api - Fatal编程技术网

C# .Net Rest API正在检索消息正文

C# .Net Rest API正在检索消息正文,c#,wcf,json,api,C#,Wcf,Json,Api,我有一个使用WCF WinAPI开发的RESTAPI public class paramval { string name; } [ServiceContract] public class myQuery { [WebInvoke(UriTemplate = "{systemCode}/{objectID}", Method = "POST")] public myResult Get(string systemCode, int objectID, paramv

我有一个使用WCF WinAPI开发的RESTAPI

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"}

有什么想法吗?

尝试用and注释类,并使用
名称的公共属性(将类和属性名称更改为使用pascal大小写):


您的
UriTemplate
仅指定
systemCode
objectID
的映射。您是否需要添加到模板以提取
paramval
的Name属性的值?

您不需要使用新的WCF WebAPIs添加DataContract和DataMember参数不是在URL中发送的,而是在POSTIf的主体中我将pval的类型更改为JSonString我可以接收Json对象。不过我想要更普通的。
[DataContract]
public class ParamVal 
{ 
    [DataMember(Name = "name")]
    public string Name { get; set; }
}