将数据发送到asp.net Web API

本文关键字:net Web API asp 数据 | 更新日期: 2023-09-27 18:03:16

我想弄清楚新的ASP。. NET Web API.

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

[HttpPost]
public HttpResponseMessage CreateAccount()

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

然而,当我试图传递数据时,我遇到了一个问题。

我做的第一件事是…

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

我输入

电子邮件:xyz,密码:abc

放到fiddler的请求体中。当我这样做时,我得到了一个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的两种情况下,我都能够在调试时到达该方法,但数据对象始终为空。

我需要了解如何创建API方法接受强类型poco和其他接受多个基本类型,如字符串和int。

谢谢

将数据发送到asp.net Web API

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

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