odata 和 webapi 一起在同一个控制器中

Mau*_*ala 5 rest asp.net-mvc routes odata asp.net-web-api

我有ticketController

public class ticketsController : ODataController
{
}
Run Code Online (Sandbox Code Playgroud)

是否可以有这个:

GET     /api/tickets?$skip={record_to_skip}&$top={pageSize}
GET     /api/tickets/{id}
PUT     /api/tickets/{id}
DELETE  /api/request/{id} 
Run Code Online (Sandbox Code Playgroud)

第一个 GET 方法使用 odata 路由,第二个 GET、PUT 和 POST 使用 Web api 路由

谢谢

jol*_*oft 5

是的,这是可能的,但您必须使用 OData 属性。您的控制器应该继承自 ApiController 而不是 ODataController,并且在您想要查询的方法/操作上使用 OData 'Queryable' 属性绘制它,请查看以下内容以获取更多详细信息:

https://ovaismehboob.wordpress.com/2014/01/18/adding-queryable-support-to-asp-net-web-api-controller-action-methods/

此外,如果您搜索 OData 可查询属性,您应该会得到大量信息