LightHouse 自定义参数指令 (Argument Directives)

LightHouse 自定义参数指令 翻译自官网

Evaluation Order

参数生命周期

1.无害化 [Sanitize]:过滤无效、非法的输入数据。可使用 ArgSanitizerDirective 钩子进行操作

2.验证 [Validate]:确保输入结果符合预期。比如Email字段 希望输入内容是Email

3.转换 [Transform]:进一步处理输入数据。比如 hash 密码字段。可以在ArgTransformerDirective 钩子进行操作

ArgSanitizerDirective

过滤输入参数,并返回过滤后的值

ArgTransformerDirective

功能与 ArgSanitizerDirective 类似区别

  • ArgTransformerDirective 需要实现 transform 方法

  • ArgSanitizerDirective 是在验证前处理的,ArgTransformerDirective是在验证后处理的

ArgBuilderDirective

用于通过传入的参数来创建:字段与数据库查询 的方法

例如:

ArgResolver

嵌套参数解析器。一般用于嵌套数据的解析 见:arg-resolvers

ArgManipulator

一个可以操控AST(abstract syntax tree 抽象语法数) 的解析器,通过一个参数来解析修改AST

原文地址:https://www.cnblogs.com/zjhblogs/p/15029604.html