我将 ASP.NET Web API OData 与 EntitySetController 一起使用,
试图在两个实体之间创建链接:ProductFamily 和 Product,
OData 行动:
public override void CreateLink([FromODataUri] int key, string navigationProperty, [FromBody] Uri link)
阿贾克斯请求:
$.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({
url: "api/ProductFamily(1)/$links/Products",
type: "PUT",
data: {"url":"api/Products(5)"}
success: function (result) {
//do something
}
});
这将导致系统。InvalidOperationException:“没有 MediaTypeFormatter 可用于从媒体类型为‘application/json’的内容中读取‘Uri’类型的对象。”
更新:
问题解决了。脚步: