• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

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

开发技术 开发技术 6小时前 1次浏览

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

Evaluation Order

参数生命周期

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

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

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

ArgSanitizerDirective

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

ArgTransformerDirective

功能与 ArgSanitizerDirective 类似区别

  • ArgTransformerDirective 需要实现 transform 方法

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

ArgBuilderDirective

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

例如:

  • @all
  • @paginate
  • @find
  • @first
  • @hasMany
  • @hasOne
  • @belongsTo
  • @belongsToMany

ArgResolver

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

ArgManipulator

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


程序员灯塔
转载请注明原文链接:LightHouse 自定义参数指令 (Argument Directives)
喜欢 (0)