武装你的WEBAPI-OData入门
2021-03-06 01:30
标签:point 相关 需要 分页查询 gets 内容 格式转换 lte The 本文属于OData系列 目录(可能会有后续修改) EDM EDEDM EDM EDEDM! 前阵子刷抖音,隔几个就是这个,被洗脑了,本着闲着也是闲着的心态,我决定一探究竟,唱的到底是个啥。 网上找了一下,发现这个:EDM is short for Entity Data Model. 看到这个我就惊了,这不就是OData的数据模型嘛,我去,他们还挺有极客精神。想到前阵子也用OData来着,就简单写写相关的内容吧。 什么是OData? OData(Open Data Protocol)是一个开源的开放协议(OASIS标准)的技术,开发者可以通过它向用户提供可查询的API。(官方网站) 很笼统,我们直接看这个玩意可以干什么: 非常有吸引力,如果后端写好接口,前端自己去选数据了,想干啥干啥,别找我要传参查询,世界多美好。 这个东西见的不多,但是确实在很多地方用到,例如SharePoint、Microsoft Graph等等,没错你猜对了,这东西就是微软和SAP出的,2007年就有了。SAP也用了很多这个,很多资料都是他们写的。和这个东西类似的有一个GraphQL,没研究过。 直接看看应该怎么用吧,首先你需要有一个现成的API。 需要在ConfigureServices里面增加 在Configure里面增加 然后在API的方法上面添加 部署好了之后,就可以使用 上面的请求将只返回学生的姓名,别的就不返回了,这样能够减少大量的数据。 上面的查询返回student用户名为Todd的记录。 上面的查询返回Score大于100的学生的记录。 上面的查询返回按照Score进行降序排序的记录。 OData使得客户端的查询变得极其方便,本文只是开篇,还有很多更方便的特性,以后再讲。 官方示例项目:https://github.com/hassanhabib/ODataDemo 武装你的WEBAPI-OData入门 标签:point 相关 需要 分页查询 gets 内容 格式转换 lte The 原文地址:https://www.cnblogs.com/podolski/p/12874013.html
探索
OData简介
方法
安装Nuget包
Install-Package Microsoft.AspNetCore.OData
设置Startup.cs
services.AddOData();
app.UseMvc(routeBuilder => {
routeBuilder.EnableDependencyInjection();
//启用EXPAND/SELECT/ORDERBY/FILTER语法支持
routeBuilder.Expand().Select().OrderBy().Filter();
});
[EnableQuery]
这个内容就行了。[HttpGet]
[EnableQuery]
public IEnumerable
简单使用
GET
请求来请求数据了。Select查询
api/students?$select=Name
Filter过滤
api/students?$filter=Name eq ‘Todd‘
api/students?filter=Score gt 100
OrderBy排序
api/students?$orderby=Score desc
总结
参考资料
上一篇:C#中相等性判断
下一篇:R语言ROC曲线评价分类器的好坏