0
工作,我有我的API,它有一個POST方法,看起來像這樣:與網頁API和FromBody
// POST api/collections
public HttpResponseMessage Post([FromBody]Collection model)
{
if (!ModelState.IsValid)
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
using (var uow = new UnitOfWork<SkipstoneContext>())
{
var service = new CollectionService(uow, User.Identity.GetUserId());
service.Save(model);
uow.SaveChanges();
return Request.CreateResponse(HttpStatusCode.OK, model);
}
}
,我做這個稱呼它:
var data = '{ "Id": ' + id + ', "Name": "' + $('#Name').val() + '", "Description": "' + $('#Description').val() + '" }';
$.post(form.attr("action"), data);
當我做到這一點,我收到一個400錯誤請求響應。如果我在我的api方法中放置斷點,我發現名稱爲空。 下面是我收集的模型:
public partial class Collection
{
public int Id { get; set; }
public string CreatedById { get; set; }
[Required] public string Name { get; set; }
public string Description { get; set; }
public System.DateTime DateCreated { get; set; }
public string ModifiedById { get; set; }
public Nullable<System.DateTime> DateModified { get; set; }
public User CreatedBy { get; set; }
public User ModifiedBy { get; set; }
public ICollection<Asset> Assets { get; set; }
}
現在,我已經看過這篇文章:
Using jquery to post frombody parameters to web api
,它告訴我,我需要一個空鍵發送我的參數,但我我的Collection無法真正做到這一點。
有誰知道如何解決這個問題?或者更好的方法?
任何幫助將不勝感激。
/r3plica
謝謝你,那工作。但是不確定爲什麼。 – r3plica