将数据发布到asp.net Web API

我正在试图弄清楚新的ASP.NET Web API。

到目前为止,我已经能够创建此方法签名并连接到它很好并获得有效的响应…

[HttpPost] public HttpResponseMessage CreateAccount() 

我能够使用fiddler向此方法发送请求,并已validation它正在接收请求。

但是,当我尝试传递数据时,我遇到了问题。

我尝试的第一件事就是……

 [HttpPost] public HttpResponseMessage CreateAccount([FromBody]string email, [FromBody]string password) 

我输入

电子邮件:XYZ,密码:ABC

进入提琴手请求的主体。 当我这样做时,我得到一个500错误说明

‘无法将多个参数(’email’和’password’)绑定到请求的内容。

我也试过这个方法签名…

 [HttpPost] public HttpResponseMessage CreateAccount([FromBody]UserAccountRequestData data) 

UserAccountRequestData是一个简单的POCO

 public class UserAccountRequestData { public string Email { get; set; } public string Password { get; set; } } 

我说

{电子邮件:XYZ,密码:ABC}

要么

数据:{电子邮件:XYZ,密码:ABC}

进入请求的正文。 在尝试填充POCO的两种情况下,我都能够在调试时访问该方法,但数据对象始终为null。

我需要了解如何创建接受强类型POCO和其他接受多种基本类型(如字符串和整数)的API方法。

谢谢

您需要将Content-Type标头设置为application/json ,然后提供有效的JSON。

 {"Email":"xyz","Password":"abc"}