为什么我的Nancy调用Bind <t>()返回一个空对象?

时间:2015-10-06 18:53:59

标签: c# json rest nancy

我无法在Nancy中使用Bind<T>()方法处理POST请求。我有这个班级*:

public class MyPost
{
    public string title { get; set; }
    public string content { get; set; }
}

我有这个NancyModule只是镜像POST数据:

public class ConfigModule : NancyModule
{
    public ConfigModule() : base("/config")
    {
        Post["/update"] = parameters =>
        {
            var mypost = this.Bind<MyPost>();
            return Response.AsJson<MyPost>(mypost);
        };
    }
}

当我使用Chrome扩展程序Postman发送此POST请求时:

POST /config/update HTTP/1.1
Host: localhost:9664
Cache-Control: no-cache

{ "title": "my title 33", "content": "my content" }

我收到了这个回复:

{
    "title": null,
    "content": null
}

当我调试post方法时,我发现mypost对象的所有属性都是null。为什么是这样?当我调用this.Request.Body.AsString()时,我得到了我期望的POST数据。

* 我将属性名称设置为小写,因为当我使用Response.AsJson(arg)将MyPost对象转换为JSON时,键是小写的。

1 个答案:

答案 0 :(得分:0)

通过下面的橙色 Content-Type

application/json设置为JSON (application/json)

application/json