我有一个带有'Put'和'Post'动作的OData控制器。当我发布 Content-Type:application / json 时,我得到一个带有'415:不支持的媒体类型'的HttpResponseException。控制器不会抛出异常的唯一 Content-Type 是 application / x-www-urlformencoded 。但这不是我想接受的内容类型。
为什么odata控制器不接受application / json?我没有在控制器的配置中看到任何限制接受的内容类型的内容。
我记得过去工作过的代码。 Soemthing似乎已经退步了。我应该在哪里看?
答案 0 :(得分:1)
感觉你所期望的身体类型(即你在行动中宣称为参数)不属于你服务的EDM模型。
例如,
HttpResponseMessage Post(Customer customer)
如果客户不是您的EDM模型的一部分,则Web API会抛出415.这发生在ODataControllers只有ODataMediaTypeFormatters且ODataMediaTypeFormatter仅支持在模型中声明的读取类型时。