我的edm定义了一个无类型模型,如下所示:
<EntityType Name="Content">
<Key>
<PropertyRef Name="Id"/>
</Key>
<Property Name="Id" Type="Edm.Guid"/>
<Property Name="Title" Type="Edm.String"/>
</EntityType>
当我尝试从html表单提交请求时,我的POST操作中的IEdmEntityObject为null。
public HttpResponseMessage Post(IEdmEntityObject entity)
这适用于json - 实体充满了属性,但odata解串器似乎并不理解application / x-www-form-urlencoded mime-type
<form method="POST" action="http://localhost/api/odata/content">
Title:<br>
<input type="text" name="Title" value="Mouse">
<br>
<input type="submit" value="Submit">
</form>
答案 0 :(得分:1)
是的,WebApi OData不支持这种格式,您可以查看代码https://github.com/OData/WebApi/blob/master/OData/src/System.Web.OData/OData/Formatter/ODataMediaTypeFormatters.cs 和规范http://docs.oasis-open.org/odata/odata-json-format/v4.0/odata-json-format-v4.0.html
或者您可以自定义格式化程序,这可能很难,但任何进一步的问题或请求都可以在github中发布问题https://github.com/OData/WebApi