我正在使用ASP.NET Web API OData和EntitySetController,
尝试在两个实体之间创建链接:ProductFamily和Product,
OData行动:
public override void CreateLink([FromODataUri] int key, string navigationProperty, [FromBody] Uri link)
ajax请求:
$.ajax({
url: "api/ProductFamily(1)/$links/Products",
type: "PUT",
//data missing for the "[FromBody] Uri link"?? what is the format of the data??
success: function (result) {
//do something
}
});
发送ajax请求后,它成功运行到CreateLink Action,但 link参数始终为null ,
ajax请求中缺少哪种数据?格式是什么?
有样品吗?
编辑1:应该是这样吗?
ajax请求:
$.ajax({
url: "api/ProductFamily(1)/$links/Products",
type: "PUT",
data: {"url":"api/Products(5)"}
success: function (result) {
//do something
}
});
这将导致系统。 InvalidOperationException :“没有MediaTypeFormatter可用于从媒体类型为'application / json'的内容中读取'Uri'类型的对象。”
的更新: 的
解决了问题。 步骤进行:
答案 0 :(得分:2)