2016-08-22 68 views
1

GET正常工作。在控制器我有这种方法:用提琴手POST测试WebApi

[HttpPost] 
    public IHttpActionResult Post(Product product) 
    { 
     var isSaved = productService.SaveProduct(product); 
     if (isSaved == true) return Ok(); 
     else return BadRequest(); 
    } 

问题是,产品为空。我得到这个方法(通过断点),但不知道为什么产品为空。下面是在提琴手作曲:

User-Agent: Fiddler 
host: localhost:53882 
Content-Type: application/json; charset=utf-8 
Content-Length: 54 

这是小提琴手请求体:

{ 
id:5, 
name: Dress, 
price: 39.90, 
quantity:71 
} 

enter image description here 有没有模型。这一切都在db(edmx)中。它适用于获取产品列表或产品编号的产品。

+0

您需要显示Product类的外观。 – juunas

+0

我猜你的产品绑定不起作用,请检查你有哪些可用的属性以及你传递的是什么。检查数据库中需要哪些字段。 – cpoDesign

+0

但产品参数作为空值进入方法。这一切都在它击中数据库之前。 – Ron

回答

3

请求正文中的name缺少双引号。确保案例与您的模型相匹配,因为它是区分大小写的。

{ 
    id:5, 
    Name: "Dress", 
    Price: 39.90, 
    Quantity:71 
} 
0

我觉得问题可能出在contentType中,应包含在标题 内容类型:应用程序/ JSON

,是的,你也被张贴JSON是无效的:名称:“着装“,