代码之家  ›  专栏  ›  技术社区  ›  TomTom

参考操作的Odata路由,缺少文档

  •  2
  • TomTom  · 技术社区  · 7 年前

    使用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)。

    0 回复  |  直到 7 年前