我正在使用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; }
}
}
SMSController:
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 / SMS
请求正文:
{"name":"name", "tonumber":"1", "fromnumber":"2", "text":"text"}
我在这里有空引用异常:
MySMS smska = singleSMS.ToObject<MySMS>();
smska是null
。
我的错误是什么?
答案 0 :(得分:1)
尝试在您的Fiddler请求中设置Content-Type:application / json。