【问题标题】:Web API Post Method frombody is nullWeb API Post 方法 frombody 为空
【发布时间】:2015-08-07 12:37:49
【问题描述】:

我有发布方法

[HttpPost]
public HttpResponseMessage Post(MemberViewModel model)

同一控制器中的另一个发布方法。我在登录方法中添加属性路由

[Route("api/members/login")]
[HttpPost]
public HttpResponseMessage Login([FromBody]LoginViewModel model)
{}

public class LoginViewModel
{
    public string UserName { get; set; }
    public string Password { get; set; }
}

默认的 post 方法工作正常,但是 当我调用 Login Post Method 模型时(LoginViewModel 始终为空)。我用 fiddler 做测试。

提琴手

POST http://localhost:49595/api/members/login/Http/1.1

用户代理:提琴手

内容类型:应用程序/JSON

主机:本地主机:49595

内容长度:79

请求正文 { “用户名”:customer@gmail.com, “密码”:“393f83x393” }

使用一个参数就可以正常工作

[Route("api/members/login")]
[HttpPost]
public HttpResponseMessage Login([FromBody]string userName)
{}

请指教 Model 有什么问题

谢谢。

【问题讨论】:

    标签: asp.net-web-api


    【解决方案1】:

    您的 Fiddler 会显示这一行:

    请求正文{“用户名”:customer@gmail.com,“密码”:“393f83x393”}

    这不是有效的 JSON。电子邮件帐户应该用单引号或双引号括起来。

    【讨论】:

    • 您好 JotaBe,感谢您的回答。实际上,我忘记在我的问题中为用户名加上双引号。我认为 Fiddler 有问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多