VUE - 调用ODATA接口
VUE - 调用ODATA接口
o.js源码:https://github.com/janhommes/o.js ,用法可以在里面找
1. 安装插件
cnpm install odata --save-dev
或
yarn add odata --save-dev
2. 新建一个接口调用的js文件
引入 odata
import { o } from 'odata';
定义 域名地址
const baseURL = `http://192.168.1.100:8088/odata/`;
Get 方法
export async function api_getOpeList(parameter) { let response = await o(`${baseURL}`).get('方法名').query(parameter); return response; }
parameter样例参数如下
Post 方法
export async function api_postOpeList(parameter) { let response = await o(`${baseURL}`).post('方法名',parameter).query(); return response; }
parameter样例参数如下
let parameter={
Id:3,
Name:'张三',
Age:45
}
Patch 方法
//参数具体跟据后端方法
export async function api_patchData(key, parameter) { let response = await o(`${baseURL}`).patch(`方法名(主键参数值)`, parameter).query(); return response; }
parameter样例参数如下
let parameter={
Id:3,
Name:'张三',
Age:45
}
Batch 方法(批量操作)
export async function api_postBatchData() { let response = await o(`https://localhost:5001/odata/`) .get('books') .get('dtoo') .post('books', { icc: 11112 , name: 'zhangsan' } ) .batch(); return response; }
POSTMAN
https://localhost:5001/odata/$batch
{ "requests": [ { "id": "aa", "method": "POST", "headers": { "content-type": "application/json; odata.metadata=minimal; odata.streaming=true; charset=utf-8" }, "body": { "icc": 122, "name": "zhangsan" }, "url": "https://localhost:5001/odata/Books" }, { "id": "sldfk", "method": "GET", "url": "https://localhost:5001/odata/dtoo" }, { "id": "sdfww", "method": "GET", "url": "https://localhost:5001/odata/Books" } ] }
$filter 过滤条件总结
1. contains 包含
模糊查询:name 中包含 Default 字样
$filter = contains(Name,'Default')
2. not contails 不包含
模糊查询:name 中不包含 Defaut字样
$filter = not contains(Name,'Default')
3. startswith 以xx开头
$filter = startswith(Name,'Default')
4. endswith 以xx结尾
$filter = endswith(Name,'Default')
5. length 字符串长度等于X
$filter = LENGTH(Name) eq 7
6. indexof 索引为n 开始 包含XX 字符
Name从第八个字母开始包含Default的所有信息
$filter = indexof(Name,'Default') eq 7
7. replace 替换
Name 等于 mumu 的信息中m被 u 替换
$filter = replace(Name,'m','u') eq 'mumu'
8. substring 从第n个字符开始
Name从第二个字符开始是 mumu的所有信息
$filter = substring(Name,1) eq 'mumu'
Name的第二个和第三个字符是 mu的所有信息
$filter = substring(Name,1,2) eq 'mu'
9. tolower 转换为小写
Name等于Mu的字符都转换为小写
$filter = tolower(Name) eq 'Mu'
10. toupper转换为大写
Name等于Mu的字符都转换为大写
$filter = toupper(Name) eq 'Mu'
11. trim 去除空格后
Name去掉空格后依旧等于 mu 的所有信息
$filter = length(trim(Name)) eq length(mu)
12. 比较运算符
eq | 等于 | $filter = Name eq 'Candice' | == |
ne | 不等于 | $filter = Name ne 'Candice' | != |
gt | 大于 | $filter = Age gt 18 | > |
ge | 大于等于 | $filter = Age ge 18 | >= |
lt | 小于 | $filter = Age lt 18 | < |
le | 小于等于 | $filter = Age le 18 | <= |
and | 且 | $filter = Name eq 'candice' and age le 18 | && |
or | 或 | $filter = Name eq 'candice' or age le 18 | || |
() | 分组 | $filter = (Name eq 'candice' and age le 18) or (Name eq 'candy' and age gt 18) | () |
$orderby
$top
$skip
$inlinecount
$select
引用:https://www.cnblogs.com/smileberry/p/6929646.html
引用:https://wenku.baidu.com/view/0958faa087868762caaedd3383c4bb4cf7ecb71b.html
引用:https://www.npmjs.com/package/odata
引用:https://github.com/janhommes/o.js
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异