OData 8:自定义控制器名称

问题描述 投票:0回答:1

ASP .NET WebApi 版本:5

OData版本:8.0.11

问题:

我想通过具有自定义名称(与实体名称不同)的控制器访问Odata模型。 基本上,我需要所有三个标识符(实体名称、odata 资源名称、控制器名称)都不同。 PS:我尝试使用 RouteAttribute 作为控制器,但无法得到我想要的,因为 OData 需要 '


示例:

  1. 实体:
    class Person 
    {
       ....
    }
  1. 电火花加工型号:
    modelBuilder.EntitySet<Person>(name: "CustomName1");
  1. 控制器:
    class CustomName2Controller : ODataController
    {
       ....
    }
  1. 想要的结果:

/odata/Person
- 应该调用
CustomName2Controller
并返回
Person
模型


这可能吗? PS:我尝试使用 RouteAttribute 作为控制器,但无法得到我想要的。

此外,据我了解,OData 要求控制器前缀(“Controller”之前的部分)等于资源名称(“CustomName1”)。也许有办法修改这个默认路由行为?

c# routes controller odata webapi
1个回答
0
投票

OData v8 中不允许这样做。不过,您可以在 OData v7 中使用 ODataRoute。

© www.soinside.com 2019 - 2024. All rights reserved.