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

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

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 4

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

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

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

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

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

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

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

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

3年前 评论