首页 > 解决方案 > GraphQL 不同的结果,如果不同的权限

问题描述

假设有两个客户端:

两个客户端都向 GraphQL 服务发送相同的请求。

两者都有结果。

两个结果是否应该相同,或者两个客户端都得到不同的结果是否可以。

换句话说:如果客户端 A 收到 100 个结果而客户端 B 收到 30 个结果,这是否违反规范或最佳实践?

我问GraphQL(SQL)的“老大哥”在这里做了什么:相同的查询,不同的结果(取决于用户的权限)

标签: graphqlrules

解决方案


我多次有相同的需求,我只是向客户返回不同的结果。

在这种情况下不同意味着客户端 B 收到一些根据权限过滤的元素列表,而具有完全权限的客户端收到未过滤的列表。

我认为这种方法没有任何问题。如果您完全阻止了客户端 B 的请求 - 我认为这是错误的,毕竟他可以看到一些结果。


推荐阅读