使用Odata 7.0.1在控制器上创建和删除链接时遇到问题
http://odata.github.io/WebApi/#03-01-routing-abstract
以下模板应自动创建路由(节查询、创建和删除链接)
发布并放置一个名为
CreateRef
进一步地,控制器上的方法签名如下所示
// POST /odata/Products(1)/Supplier/$ref
public HttpResponseMessage CreateLink(int key, string navigationProperty, [FromBody] Uri link)
对于删除,它是:
// DELETE /odata/Products(1)/Supplier/$ref
public HttpResponseMessage DeleteLink(int key, string navigationProperty, [FromBody] Uri link)
HTTP DELETE DeleteRef
我有一个客户端集成测试,它在表单中生成一个链接
DELETE http://localhost/Building(007c3552-43da-44c4-bf8f-b5221553c484)/UsageTypes/$ref?$id=UsageType(18)
我觉得不错。
我两个都试过了
[HttpDelete]
public async Task<IActionResult> DeleteRef(Guid key, String navigationProperty, [FromBody] Uri link) {
return Ok();
}
和
[HttpDelete]
public async Task<IActionResult> DeleteLink(Guid key, String navigationProperty, [FromBody] Uri link) {
return Ok();
}
我做错什么了?
请注意,Odata在一般情况下是可以工作的——我们有针对个别对象、函数和为路由正确生成的操作的get、put和post方法。目前,只有链接似乎失败了(这是我们现在投入生产的一个新部分,目的是淘汰旧的基于REST的API)。