作者:btbxin | 来源:互联网 | 2023-09-09 09:37
想象有两个客户:
两个客户端都向GraphQL服务发送相同的请求。
两者都取得结果。
两个结果应该相同,还是两个客户得到不同的结果都可以。
换句话说:如果客户A收到100个结果,客户B收到30个结果,这是否违反规范或最佳做法?
我问GraphQL(SQL)的“老大哥”在这里做什么:Same query,different result (depending on user's permissions)
我有多次相同的需求,我只是将不同的结果返回给客户。
在这种情况下,不同意味着客户端B收到一些根据权限过滤的元素列表,而具有完全权限的客户端收到未过滤的列表。
我认为这种方法没有任何问题。如果您完全阻止了对客户B的请求-我认为这是错误的,那么他毕竟可以看到一些结果。
,
按照定义,这不是问题。与客户端B相比,客户端A似乎有特权查看另外70个结果。