hasura graphql-engine v1.2.0 提供了一个很不错的功能action,这个也是目前其他graphql 没有hasura 强大的
地方,使用action 我们可以更好的扩展hasura,添加一个业务逻辑,因为当前来说,我们对于hasura 可控性不是
很好(尤其在业务处理上,基于框架的,我们可以使用middware,或者自己在resovler 进行扩展)
参考图
hasura action 的工作原理
- Hasura收到动作GraphQL mutation 并将此请求转换为事件有效负载。
- 事件被捕获,保留并随后以适当的重试/传递保证传递给操作处理程序。
- 动作处理程序运行并返回一个响应,该响应被捕获为事件,并再次保存到事件存储中。
- 动作响应根据种类同步或异步返回给客户端
hasura action 包含的部分
- Definition mutation 定义
- handler 运行mutation 的逻辑
- Kind 同步或者异步类型
说明
很期待hasura graphql-engine action 的ga,很不错,同时很强大的功能
参考资料
https://hasura.io/docs/1.0/graphql/manual/actions/index.html
https://github.com/hasura/graphql-engine/releases