c# - 将数据发布到 asp.net Web API

标签 c# asp.net http asp.net-mvc-4 asp.net-web-api

我正在尝试找出新的 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/

相关文章:

c# - 尽管存在错误 View ,但找不到错误页面 ASP.NET MVC

C# Console.read() 没有显示正确的数字输入?

c# - 类型 'string' 必须是不可为 null 的类型才能将其用作泛型类型或方法 'System.Nullable<T>' 中的参数 T

asp.net - 将现有的 .net 功能扩展到 iPad

javascript - 除非文本框有文本,否则如何限制按钮

c# - 这是标准的 DateTime 格式吗?

c# - 我如何从 JS 访问 ViewBag

c# - jquery ajax返回异常(请求格式无效)

ruby - 一种以宽容的方式在 Ruby 中标准化 URI/URL 的方法

java - @ResponseBody 注解在响应中重置 header