Web API 复杂类型 属性 始终为 null
Web API Complex type property always null
我有这本书class:
public class Book
{
public string Name { get; set; }
}
本书 ApiController 的 post 方法使用 复杂类型 参数:
[RoutePrefix("api/book")]
public class BookController : ApiController
{
[Route("create")]
public Book CreateBook([FromBody]Book book)
{
// Persist the book
return book;
}
}
然后我将使用此 jQuery 代码来测试我的 Post-方法:
var data = {"name":"test"};
$.ajax({
type: "POST",
url: "api/book/create",
data: JSON.stringify(data),
dataType: "json",
success: function (result) {
alert(result);
}
});
当 运行 jQuery 时,我的 CreaetBook 操作中的断点被触发,但是 Book.Name 属性 是null
。我希望它是 test
.
为什么它总是空的?
不用JSON.stringify
试试
var data = {"name":"test"};
$.ajax({
type: "POST",
url: "api/book/create",
data: data,
dataType: "json",
success: function (result) {
alert(result);
}
});
我有这本书class:
public class Book
{
public string Name { get; set; }
}
本书 ApiController 的 post 方法使用 复杂类型 参数:
[RoutePrefix("api/book")]
public class BookController : ApiController
{
[Route("create")]
public Book CreateBook([FromBody]Book book)
{
// Persist the book
return book;
}
}
然后我将使用此 jQuery 代码来测试我的 Post-方法:
var data = {"name":"test"};
$.ajax({
type: "POST",
url: "api/book/create",
data: JSON.stringify(data),
dataType: "json",
success: function (result) {
alert(result);
}
});
当 运行 jQuery 时,我的 CreaetBook 操作中的断点被触发,但是 Book.Name 属性 是null
。我希望它是 test
.
为什么它总是空的?
不用JSON.stringify
var data = {"name":"test"};
$.ajax({
type: "POST",
url: "api/book/create",
data: data,
dataType: "json",
success: function (result) {
alert(result);
}
});