在asp.net中,我设置了一个POST请求:
[OperationContract]
[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare, UriTemplate = "Test1")]
[Description("Testing: return Hello along with lastName and firstName")]
string Test1(MyClass p);
但是我一直收到HTTP 400错误返回。
MyClass非常简单:
[DataContract]
public class MyClass
{
public MyClass() { }
[DataMember]
public string firstName { get; set; }
[DataMember]
public string lastName { get; set; }
}
这是我的Test1代码:
public string Test1(MyClass p)
{
return "Hello " + p.firstName + " " + p.lastName + "!";
}
我一直在尝试使用Codepunker测试此代码, `
{
"lastName":"Smith",
"firstName":"Fred"
}
以及我能想到的每一种变体-裸露,包裹,json中的单引号,无引号-但一直保持400。
如果我将数据作为Stream传递,并且调用了一个简单地忽略发布数据的方法,那么它将起作用。
有人看到我需要做些什么才能使它工作吗?