配置 Schema
配置 Schema将 API 设为公开或私有

将 API 设为公开或私有

此功能增强了访问控制,为 schema 提供可见性控制。

当访问控制拒绝对某个字段或指令的访问时,API 有两种行为方式:

公开模式:schema 中的字段对外公开,当权限未满足时,用户会收到一条错误消息,说明权限被拒绝的原因。这种行为使 schema 的元数据始终可访问。

私有模式:schema 针对每个用户进行定制,仅包含该用户可访问的字段。因此,当尝试访问被禁止的字段时,错误消息会显示该字段不存在。这种行为仅向有权访问的用户公开 schema 的元数据。

如何定义 API 的可见性

我们可以在 3 个层级定义 API 的可见性(公开或私有)。按优先级排列:

1. 针对字段和指令单独设置

此选项在设置中的"Enable granular control?"选项on 时可用。

在编辑访问控制列表中的条目时,我们可以为一组字段和指令定义可见性:

单独的公开/私有 schema 模式

2. 在 schema 配置中设置

我们可以在 schema 配置中定义可见性,应用于整个自定义端点或持久化 Query:

在 schema 配置中设置的公开/私有 schema 模式
在 schema 配置中设置的公开/私有 schema 模式

3. 在设置中定义的默认模式

如果 schema 配置的值为 "Default",则使用设置中定义的模式:

默认的公开/私有 schema 模式
默认的公开/私有 schema 模式