我正在使用 OData 构建 Web API 服务,并希望将方法公开为服务中的操作,如下所示。
http://myServer/odata/myAction
我目前正在按如下方式映射 OData 路由:
Dim modelBuilder As ODataModelBuilder = New ODataConventionModelBuilder
modelBuilder.EntitySet(Of Product)("Products")
Dim myAction = modelBuilder.Action("myAction")
myAction.Parameter(Of String)("Parameter1")
myAction.Returns(Of Boolean)()
Dim model As IEdmModel = modelBuilder.GetEdmModel
config.Routes.MapODataRoute("ODataRoute", "odata", model)
这个精彩的教程展示了如何将动作与这样的实体相关联:
http://myServer/odata/Products(1)/myAction
按照教程,我可以在使用以下行创建模型后在 ProductsController 类中编写操作的方法:
Dim myAction = modelBuilder.Entity(Of Product).Action("myAction")
但是,如果我不想将操作与实体相关联,我将在哪里编写操作的方法?我需要编写一个 DefaultController 类吗?