Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将json绑定到.NET中的模型时出错_Json_Asp.net Mvc_Entity Framework - Fatal编程技术网

将json绑定到.NET中的模型时出错

将json绑定到.NET中的模型时出错,json,asp.net-mvc,entity-framework,Json,Asp.net Mvc,Entity Framework,一整天都在为一个问题挣扎。当我试图传递这个JSON数据时,我从Postman那里得到了一个“415错误不支持的媒体类型” {"MatrattId":"1","MatrattNamn":"Capri","Beskrivning":"abc","Pris":56,"MatrattTyp":"1"} 对于此控制器: public IActionResult AddDish([FromBody]Matratt dish) { restaurantRepository.AddDish(dish)

一整天都在为一个问题挣扎。当我试图传递这个JSON数据时,我从Postman那里得到了一个“415错误不支持的媒体类型”

{"MatrattId":"1","MatrattNamn":"Capri","Beskrivning":"abc","Pris":56,"MatrattTyp":"1"}
对于此控制器:

public IActionResult AddDish([FromBody]Matratt dish)
{
    restaurantRepository.AddDish(dish);
    return Ok();
}
下面是我的模型。该项目首先使用实体框架数据库。(这就是为什么模型类是局部的)

公共部分类Matratt
{
公共马特拉特()
{
BestallningMatratt=新哈希集();
MatrattProdukt=新HashSet();
}
公共int MatrattId{get;set;}
公共字符串MatrattNamn{get;set;}
公共字符串Beskrivning{get;set;}
公共整数{get;set;}
公共int MatrattTyp{get;set;}
公共虚拟ICollection BestallningMatratt{get;set;}
公共虚拟ICollection MatrattProdukt{get;set;}
公共虚拟MatrattTyp MatrattTypNavigation{get;set;}
}

有什么想法吗?提前感谢。

将ajax中的内容类型设置为
“application/json”
并添加Accept头

$.ajax({
headers: { 
    'Accept': 'application/json',
    'Content-Type': 'application/json' 
},
'type': 'POST',
'url': url,
'data': JSON.stringify(data),
'dataType': 'json',
'success': function(resp){}
});

MatrattId
MatrattTyp
类型为int,但在json中您发送的是字符串数据。您是否设置了
ContentType
?@kranis100共享您如何将数据发布到控制器?ajax/postcode@Marc我将格式更改为:{“matrattId”:1,“matrattnam”:“Capri”,“beskrivning”:“abc”,“pris”:56,“matrattTyp”:1},但仍然显示相同的错误消息。@StephenMuecke是的,我已设置内容类型。这里有两个截图:@kranis100在查询或尝试集中更新您的代码headers@BalajuMarimuthu请注意我上面评论中的两个截图。我已经设置了标题。您看到我需要更改的内容了吗?[问题解决]我在postman中设置了错误的标题。谢谢你的帮助。
$.ajax({
headers: { 
    'Accept': 'application/json',
    'Content-Type': 'application/json' 
},
'type': 'POST',
'url': url,
'data': JSON.stringify(data),
'dataType': 'json',
'success': function(resp){}
});