强制访问权限 - AuthDirective 缺点
Enforcing access permissions - AuthDirective drawback
我遵循并使用了在 https://www.apollographql.com/docs/apollo-server/schema/creating-directives/#enforcing-access-permissions 找到的 AuthDirective。
它在查询和变更中运行良好。但是,我不理解 "Enforcing Access Permissions" 部分末尾附近的语句 "One drawback of this approach is that it does not guarantee fields will be wrapped if they are added to the schema after AuthDirective is applied"。应用 AuthDirective 后如何将字段添加到架构中?它是指从应用了 AuthDirective 的字段返回的结果吗?
如果显示的 @auth
指令应用于某个类型,则该类型还可以应用另一个指令以向该类型添加字段。例如,想象一个 @id
指令将 id
字段添加到它所应用的任何类型。如果在 @auth
指令 之后 应用 @id
指令,@auth
指令将永远不会修改 id
字段的解析器就像所有其他领域一样。这些指令按照它们在类型定义中出现的顺序应用,因此很容易避免这种情况,但如果您广泛使用指令,则需要注意这一点。
我遵循并使用了在 https://www.apollographql.com/docs/apollo-server/schema/creating-directives/#enforcing-access-permissions 找到的 AuthDirective。
它在查询和变更中运行良好。但是,我不理解 "Enforcing Access Permissions" 部分末尾附近的语句 "One drawback of this approach is that it does not guarantee fields will be wrapped if they are added to the schema after AuthDirective is applied"。应用 AuthDirective 后如何将字段添加到架构中?它是指从应用了 AuthDirective 的字段返回的结果吗?
如果显示的 @auth
指令应用于某个类型,则该类型还可以应用另一个指令以向该类型添加字段。例如,想象一个 @id
指令将 id
字段添加到它所应用的任何类型。如果在 @auth
指令 之后 应用 @id
指令,@auth
指令将永远不会修改 id
字段的解析器就像所有其他领域一样。这些指令按照它们在类型定义中出现的顺序应用,因此很容易避免这种情况,但如果您广泛使用指令,则需要注意这一点。