3

我正在使用 ASP.NET WEB API。

我想接收并添加到数据库 jsonstring。

我的模型:

namespace sms.Models
{
    [JsonObject]
    public class MySMS
    {
        //[JsonProperty("id")]
        //public int Id { get; set; }
        [JsonProperty("name")]
        public string Name { get; set; }
        [JsonProperty("fromnumber")]
        public string FromNumber { get; set; }
        [JsonProperty("tonumber")]
        public string ToNumber { get; set; }
        [JsonProperty("text")]
        public string Text { get; set; }
    }
}

短信控制器:

public void Post(JObject singleSMS)
{
    MySMS smska = singleSMS.ToObject<MySMS>();

    try
    {
        SMS_Repository.Add(smska);
    }
    catch (Exception)
    {
        throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotImplemented));
    }
}

和来自存储库的方法:

public static void Add(MySMS singleSMS)
{
    DataClasses1DataContext db = new DataClasses1DataContext();
    SimpleSMS newSMS = new SimpleSMS();
    newSMS.Name = singleSMS.Name;
    newSMS.Text = singleSMS.Text;
    newSMS.FromNumber = singleSMS.FromNumber;
    newSMS.ToNumber = singleSMS.ToNumber;

    db.SimpleSMS.InsertOnSubmit(newSMS);
    db.SubmitChanges();

}

现在,如果我像这样从 Fiddler 发送 POST 请求:

本地主机:25856/api/短信

带有请求正文:

{"name":"name", "tonumber":"1", "fromnumber":"2", "text":"text"}

我在这里有空引用异常:

MySMS smska = singleSMS.ToObject<MySMS>();

短信卡是null

我的错误是什么?

4

1 回答 1

1

尝试在 Fiddler 请求中设置 Content-Type: application/json 。

于 2013-06-18T09:53:15.250 回答