ASP.NET MVC 5 Controller的JSON输入无效

时间:2014-04-19 21:38:31

标签: c# asp.net-mvc json asp.net-mvc-5

我搜索并阅读了很多文章,看起来这应该有效。我可能错过了一些明显的东西,但我对MVC和ASP.NET没有经验(但是!)。

这是我的控制器操作,非常简单,只是测试输入(Respond是我的控制器类中的一个方法,用于创建带有状态代码和正文的响应):

    public IHttpActionResult GetConnectionBroker()
    {
        return Respond(HttpStatusCode.BadRequest, "Broker information is missing or incomplete (1)");
    }

    public IHttpActionResult PostConnectionBroker()
    {
        return Respond(HttpStatusCode.BadRequest, "Broker information is missing or incomplete (2)");
    }

    public IHttpActionResult GetConnectionBroker(string host, string username, string password)
    {
        if (null == host || "" == host ||
            null == username || "" == username ||
            null == password || "" == password)
        {
            return Respond(HttpStatusCode.BadRequest, "Broker information is missing or incomplete (3)");
        }

        return Respond(HttpStatusCode.OK, "Yep, I see them!");
    }

以下是JSON,我将其作为POST发送给app / json用于内容类型(我使用JSON和REST API进行了大量工作,包括创建和使用,但不在ASP.NET框架内MVC,所以可能有一些我不了解框架的东西?):

{
    "host" : "10.110.44.157",
    "username" : "jen",
    "password" : "jen"
}

(请不要喋喋不休地谈论纯文本密码 - 我只是在这里做POC并且还没有添加安全层)。 POST的结果是:

{
    "message": "Broker information is missing or incomplete (2)"
}

为什么它没有看到JSON请求有效负载并将其映射到具有匹配输入的操作?

(仅供参考,因为IP地址位于防火墙/ NAT之后,因此您将无法对其进行测试。)

0 个答案:

没有答案