【问题标题】:BreezeJS - Is there any way to use old style 'One controller to rule them all' with OData Web API?BreezeJS - 有没有办法通过 OData Web API 使用旧式的“一个控制器来统治他们”?
【发布时间】:2015-05-12 03:31:44
【问题描述】:

我想通过 OData Web API 公开 SQL Server 视图,但我不想为每个视图创建单独的控制器,因为它们太多了,而且它们只接受所有视图的 GET 动词。

我认为我可以使用 BreezeController 来实现这一点,但看起来我不能,因为它现在已经过时了(具有 BreezeController 属性的包被标记为过时)。

有什么方法可以通过与 BreezeJS 配合使用的 OData Web API 来实现这一点?

【问题讨论】:

    标签: asp.net-web-api odata breeze


    【解决方案1】:

    [BreezeController] 属性没有过时。事实上,它是您在 Breeze 示例中看到的“快乐路径”Web API 控制器的核心。我想知道是什么让你有不同的想法?你用的是什么包?

    我指的是 ASP.NET Web API

    ASP.NET Web API OData 是另一回事。尽管名称中有“Web API”,但这几乎是一种完全不同的服务器开发方法,具有自己的行为和有线格式。它不使用[BreezeController] 属性,而且从来没有。

    我不确定您所说的“视图”在您的短语“每个视图的单独控制器”中是什么意思。我想你的意思是我所说的“类型”。例如,在 OData 中,您希望 Product 实体类型有一个“产品”端点。

    AFAIK,Web API OData 方法需要一个单独的每个类型的控制器。这就是微软的Mike Wasson says in his tutorial。他写...

    控制器是一个处理 HTTP 请求的类。您为 OData 服务中的每个实体集创建一个单独的控制器。

    BreezeJS 也支持 Web API OData ...尽管有 limitations imposed by the current Microsoft implementation 可能会让您暂停。

    我们正在与 OData 团队一起解决这些问题,并希望在未来几个月内有更好的消息。

    【讨论】:

    • 谢谢沃德。我找到了未过时的包。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-02
    • 2013-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-08
    • 1970-01-01
    相关资源
    最近更新 更多