我正在尝试找出新的 ASP.NET Web API。
到目前为止,我已经能够创建此方法签名并正常连接到它并获得有效响应...
[HttpPost]
public HttpResponseMessage CreateAccount()
我可以使用 fiddler 向此方法发送请求,并已验证它正在接收请求。
但是,当我尝试传递数据时遇到了问题。
我尝试的第一件事是......
[HttpPost]
public HttpResponseMessage CreateAccount([FromBody]string email, [FromBody]string password)
然后我输入
邮箱:xyz,密码:abc
进入 fiddler 中的请求正文。当我这样做时,我收到 500 错误说明
“无法将多个参数(“电子邮件”和“密码”)绑定(bind)到请求的内容。”
我也尝试过将其作为方法签名...
[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 的情况下,我都能够在调试时访问该方法,但数据对象始终为空。
我需要了解如何创建接受强类型 POCO 和其他接受多种基本类型(如字符串和整数)的 API 方法。
谢谢
最佳答案
您需要将Content-Type
header 设置为application/json
,然后提供有效的JSON。
{"Email":"xyz","Password":"abc"}
关于c# - 将数据发布到 asp.net Web API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15341744/