如何将数据发布到ASP.NETWebAPI?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (57)

我试图找出新的ASP.NET Web API。

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

[HttpPost]
public HttpResponseMessage CreateAccount()

我可以用fiddler送请求到这个方法,并且已经验证它正在接收请求。

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

我尝试的第一件事是...

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

我输入

电子邮件:xyz,密码:abc

进入请求的主体。当我这样做的时候,我得到了一个500个错误

'Can't bind multiple parameters ('email' and 'password') to the request's content.'

我也试过用这个作为方法签名..。

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

将UserAccountRequestData作为一个简单的Poco

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

我把

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

data:{电子邮件:XYZ,密码:abc}

进入请求的正文。在这两种情况下,试图填充Poco,我都能够在调试时到达该方法,但是数据对象总是为空。

我需要了解如何创建既接受强类型pocos的API方法,又能接受多个原语类型(如字符串和int)的API方法。

提问于
用户回答回答于

需要设置Content-Type头到application/json然后提供有效的JSON。

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

扫码关注云+社区

领取腾讯云代金券