OData更新控制器抛出415不支持的媒体类型错误

时间:2014-02-25 17:02:30

标签: asp.net rest asp.net-web-api odata

我有一个带有'Put'和'Post'动作的OData控制器。当我发布 Content-Type:application / json 时,我得到一个带有'415:不支持的媒体类型'的HttpResponseException。控制器不会抛出异常的唯一 Content-Type application / x-www-urlformencoded 。但这不是我想接受的内容类型。

为什么odata控制器不接受application / json?我没有在控制器的配置中看到任何限制接受的内容类型的内容。

我记得过去工作过的代码。 Soemthing似乎已经退步了。我应该在哪里看?

1 个答案:

答案 0 :(得分:1)

感觉你所期望的身体类型(即你在行动中宣称为参数)不属于你服务的EDM模型。

例如,

HttpResponseMessage Post(Customer customer)

如果客户不是您的EDM模型的一部分,则Web API会抛出415.这发生在ODataControllers只有ODataMediaTypeFormatters且ODataMediaTypeFormatter仅支持在模型中声明的读取类型时。