不同用户访问同一个接口时返回不同的数据这个具体要怎么实现

有没有大佬解答一下,目前数据量已经很大了,几万条数据,然后突然有了这个需求,自己想到的方法就是,每条数据加字段区分不同用户,但感觉好像不太现实也有点不合理

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 4

首先需要确认返回什么样的数据?数据跟用户的关系是怎么样的?为什么要区分?然后再想办法改

3年前 评论
RayFong_Chan (楼主) 3年前

既然没有关联,为了保护敏感数据,是不是可以考虑都不显示,然后再想办法处理这批用户里边群体比较少的那一部分人,让可以看到敏感数据的人以其他方式或者其他地方可以看到这些数据。

3年前 评论
RayFong_Chan (楼主) 3年前

用APIResource,在里面判断用户权限,然后增减要显示的内容。

当然,也可以在获取数据之前判断,然后在select方法里传入不同的参数。

3年前 评论
RayFong_Chan (楼主) 3年前

相对笨的方法, 做一个service 然后把用户传进去 service const USER_TYPE_RELATION = [1=>[['type'=>1,'status'=>2],2=>['type'=>2]]; //todo 此处可以定义一个filed 依次类推,然后你做条件的时候可以直接用用户的类型获取条件和字段 并且可随时替换 更改 一目了谈 楼上的apiresource其实是更好的方案 不过我不会啊 我也很绝望啊

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!