我在使用Odata 7.0.1针对控制器进行链接创建和删除时遇到问题
根据http://odata.github.io/WebApi/#03-01-routing-abstract,以下模板应自动创建路由(部分查询,创建和删除链接)
在名为的方法上进行Http POST和PUT CreateRef
再往下,控制器上的方法签名显示为
// POST /odata/Products(1)/Supplier/$ref
public HttpResponseMessage CreateLink(int key, string navigationProperty, [FromBody] Uri link)
Run Code Online (Sandbox Code Playgroud)
对于删除,它是:
// DELETE /odata/Products(1)/Supplier/$ref
public HttpResponseMessage DeleteLink(int key, string navigationProperty, [FromBody] Uri link)
Run Code Online (Sandbox Code Playgroud)
模板是
HTTP DELETE DeleteRef
我有一个客户端集成测试,它生成以下形式的链接
DELETE http://localhost/Building(007c3552-43da-44c4-bf8f-b5221553c484)/UsageTypes/$ref?$id=UsageType(18)
对我来说看起来不错
可悲的是,我总是遇到路由错误,“未找到” WebRequestException。
我都尝试过
[HttpDelete]
public async Task<IActionResult> DeleteRef(Guid key, String navigationProperty, [FromBody] Uri link) {
return Ok();
}
Run Code Online (Sandbox Code Playgroud)
和
[HttpDelete]
public async Task<IActionResult> DeleteLink(Guid key, String navigationProperty, [FromBody] Uri link) {
return Ok();
}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
请注意,Odata在一般工作中-我们具有正确生成用于路由的单个对象,函数和操作的get和put和post方法。目前,只有链接似乎失败了(这是我们现在投入生产的新部分,以淘汰旧的基于REST的API)。
| 归档时间: |
|
| 查看次数: |
107 次 |
| 最近记录: |