OData基础

news/2024/7/24 11:04:09 标签: 开发语言

概念

OData是开放数据协议,描述如何创建和访问Restful服务的OASIS标准

操作

GET 客户端从服务器获取数据
POST、PUT 从客户端推送数据到服务器
DELETE 删除数据

实体: Entity、表、对象
实例对象: 同一个实体的集合
属性: 实体中的字段
导航属性: 用于外键关联的实体

比较操作字符

eq   等于
ne   不等于
gt   大于
ge   大于等于
lt   小于
le   小于等于

逻辑操作字符

and     与
or 		或
not 	非
() 		优先级分组,主要用于多个条件的情况

算数运算符

add  加
sub  减
mul  乘
div  除
mod  取模

常用函数

contains / not contains			是否包含某个特定字符串
startswith / not startswith		是否以某个字符串开头
endswith / not endswith			是否以某个字符串结尾
year							返回日期中的年
month							返回日期中的月
day								返回日期中的日
trim 							去头尾空格
contact							字串拼接
totaloffsetminutes			有符号的分钟数

常用语法

$format=json JSON格式(OData默认支持xml格式)
$filter=[节点] eq. [value] 过滤器
$select=[节点] 筛选固定属性
$count 计数操作
$expand 关联查询
$orderby 排序,默认正序,倒叙“空格+desc”
$top=n 返回前n条
$skip=n 跳过第n条

列出所有EntityType

get ~/api/odata/$metadata

列出所有的persons

get ~/api/odata/Persons?$format=json

按主键查询

get ~/api/odata/Persons(1)

获取对象属性

get ~/api/odata/Persons(1)/Name

获取对象属性值

get ~/api/odata/Persons(1)/Name/$value

filter过滤查询, 返回Name= “Jose Pavarotti”的数据

get ~/api/odata/Persons?filter=Name eq’Jose Pavarotti’ &filter=Name eq’Jose Pavarotti’ &format=json

filter and 过滤查询

get ~/api/odata/Persons?filter=(Name eq’Jose Pavarotti’)and (ID eq 1) &filter=(Name eq’Jose Pavarotti’)and (ID eq 1) &format=json

filter or 过滤查询

get ~/api/odata/Persons?filter=(Name eq’Jose Pavarotti’)or (ID eq 0) &filter=(Name eq’Jose Pavarotti’)or (ID eq 0) &format=json

查询数量

get ~/api/odata/Persons/$count

$select 筛选固定字段

get ~/api/odata/Persons?select=Name&select=Name&format=json

$top返回第一条数据

get ~/api/odata/Persons?top=1&top=1&format=json

$orderby 按照某个字段排序

get ~/api/odata/Persons?orderby=Nameorderby=Nameformat=json

read 读取数据列表
create 创建新数据
update 更新数据
remove 删除数据


http://www.niftyadmin.cn/n/5005036.html

相关文章

lv3 嵌入式开发-8 linux shell脚本函数

目录 1 函数的定义 2 函数的调用 3 变量的作用域 4 练习 1 函数的定义 基本语法: function name() {statements[return value] }function是 Shell 中的关键字,专门用来定义函数; name是函数名; statements是函数要执行…

C++ 统计程序运行时间

C 统计程序运行时间 在C中&#xff0c;可以使用头文件中的high_resolution_clock和time_point类来测量程序运行时间。 以下是一个简单的示例程序&#xff0c;它使用头文件来计算程序运行时间&#xff1a; #include <iostream> #include <chrono> using namespac…

Source Insight 宏-添加单行的c注释

今天写代码的时候突然想到在代码的上一空行添加一对 /* */ 来添加注释&#xff0c;或者单独注释一行代码&#xff0c;而且是用 c 的注释方式&#xff0c;即使用 /**/&#xff0c;如想要在光标处添加 /**/ 或者注释掉光标所在的行&#xff0c;如&#xff1a; 实际的效果就是这样…

Vue.js基础(一)

目录 1、{{ }} 文本插值 2、v-html原始html 3、v-bind Attribute&#xff08;属性&#xff09;绑定\三元运算符 4、v-for列表渲染 5、v-on监听事件 6、事件调用方法 7、v-model表单的输入绑定 8、Props组件交互 父传子 子传父 子传父总结 1、{{ }} 文本插值 <…

十六、MySQL常用函数有哪些?

1、函数 说到函数&#xff0c;就必须知道其本质是什么&#xff0c;在MySQL中&#xff0c;函数是指一段可以直接被另一段程序调用的程序或代码。 2、字符串函数 &#xff08;1&#xff09;函数 &#xff08;2&#xff09;字符串连接函数 字符串连接函数&#xff1a; select c…

【C++】atoi函数和itoa函数无废话极简概述

atoi和itoa这两个函数头文件均为<stdlib.h> atoi atoi全称&#xff1a;array to int&#xff0c;可以把字符串转换为整型 int atoi(const char *nptr); 使用演示&#xff1a; #1 char str[5]; cin>>str; int aatoi(str);#2 int a; aatoi("123");//a…

数学建模--多项式拟合方法Python实现

目录 1.算法设计思路 2.算法核心代码 3.算法效果展示 1.算法设计思路 算法关键步骤:(主要是利用到多项式拟合的库包) 1.将数据进行导入 2.进行曲线拟合返回值为各项系数 3.获得多项式拟合之后的函数表达式 4.将x代入表达式求出对应的y值(这样就能够表示出拟合的差别如何) 5.进…

学习Bootstrap 5的第六天

目录 信息警告框 警告框 实例 警告框链接 实例 关闭警告框 实例 警告框动画 实例 按钮 按钮样式 实例 按钮轮廓 实例 ​编辑按钮尺寸 实例 块级按钮 实例 实例 活动/禁用按钮 实例 加载器按钮 实例 扩展小知识 信息警告框 警告框 警告框是使用 .aler…