博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ASP.NET 4.x Web Api Odata v4 backend modify query 修改查询
阅读量:7056 次
发布时间:2019-06-28

本文共 721 字,大约阅读时间需要 2 分钟。

有时候我们会想给予权限添加 filter 到查询上.

比如 

会员和管理员都使用了 

/api/products 作为 product 查询

但是会员不应该可以看见还没有上架的货品 

/api/products?$filter=onMarket eq true 才是正确的

但是我们当然不可能把这个 $filter 交给前端去限制,因为这不安全嘛.

可惜的是 Web Api 并没有提供比较上层的接口去实现这个方法. 

我们有好些方法可以完成上面这个事情

比如在 controller return if(member) db.products.where(p => p.onMarket == true);

但是这个无法满足 expand + filter 的场景

所以最直观的做法就是, 修改请求的 query, 通过后端添加上 $filter 进去。这样就符合我们的预期了. 

 

refer : 

https://stackoverflow.com/questions/33660648/odata-v4-modify-filter-on-server-side

https://stackoverflow.com/questions/33126251/webapi-odata-pre-filtering-expand-queries
https://blogs.msdn.microsoft.com/odatateam/2014/07/04/tutorial-sample-using-odatauriparser-for-odata-v4/

 

转载于:https://www.cnblogs.com/keatkeat/p/8594603.html

你可能感兴趣的文章
再谈Js闭包
查看>>
C++ 打造 Markdown 解析器
查看>>
nodejs微信开发---接入指南
查看>>
如何理解Kubernetes认证和授权
查看>>
1625行,解开 underscore.js 的面纱 - 第四章
查看>>
一些正则
查看>>
iOS动画编程-Layer动画[ 5 ] Animation Groups组合动画
查看>>
mysql & redis 性能测试
查看>>
Python下正则表达式学习笔记
查看>>
node.js express jquery ajax post options 跨域问题 解决办法
查看>>
谈 DevOps 自动化时,也应该考虑到 SOX 等法案
查看>>
git终极指南:在实际开发中的应用
查看>>
阿里云服务器怎么重装系统?
查看>>
锌财经3月科技主题沙龙丨袋鼠云-云掣CEO徐进挺(丁原)受邀探讨“未来智能时代下的行业生存机会” ...
查看>>
【镜像更新】Windows Server 2012 R2 数据中心版
查看>>
日志服务Python消费组实战(三):实时跨域监测多日志库数据 ...
查看>>
网站被黑跳转到其他网站的解决办法
查看>>
填报脚本之轻松搞定复杂表的数据入库
查看>>
HttpClient在多线程环境下踩坑总结
查看>>
接入高防后为什么有一些网站,APP等会出现延迟,打开速度慢等问题? ...
查看>>