首页 > 其他分享 >Apollo 的 Plugin 学习

Apollo 的 Plugin 学习

时间:2022-08-29 02:33:33浏览次数:72  
标签:Apollo 自定义 Plugin hooks object js 学习 apollo

apollo 的 plugin 是在 apollo server 启动时候注册的,其形态是一个 js object. 在其中,可以通过 key 指定针对不同事件阶段的自定义处理函数。

events 其实是 apollo 处理请求的 life cycle 中的一系列时间点上触发的。这里既有 pre hooks 也有 post hooks.

plugin 的实现方式是,通常会接受一个 options 对象,然后返回自定义实现的上述 js object 即可。

可见,针对 web 请求的框架设计方式,不同框架有不同的做法。OO 语言通常会通过类继承的方式,如 asp.net 这种。而 js / ts 语言则比较灵活,通过普通 js object + key 即可定义出一个契约,实现方式比较松散自由。

参考:https://www.apollographql.com/docs/apollo-server/integrations/plugins/

标签:Apollo,自定义,Plugin,hooks,object,js,学习,apollo
From: https://www.cnblogs.com/new-start/p/apollo_plugin.html

相关文章

  • 学习 GraphQL Directives
    GraphQL的directive有点类似typescript的decorator.可以被附加在schema中的各个地方(通过location来定义可以用在哪里),如type,field,fragment,mutation,inpu......
  • c++学习案例:猜数字游戏
    最近在学习C++,遇到了一个案例:猜数字游戏案例要求:系统生成一个范围在1-100的随机整数,用户有5次猜数字的机会,当用户猜的数字大于或小于生成的值时进行提示,5次没猜对则失败,......
  • HCIA学习笔记二十五:三层交换机实现VLAN间路由
    一、三层交换机功能模型二、三层交换机配置三、三层交换机实现VLAN间路由实验 1)分别在交换机中拖出1台S5700、终端中拖出2台PC机,然后选择设备连线,点击Copper进行设备......
  • Flask 学习-23.restful 接口开发
    前言Flask-RESTful是一个Flask扩展,它添加了快速构建RESTAPIs的支持。它当然也是一个能够跟你现有的ORM/库协同工作的轻量级的扩展。Flask-RESTful鼓励以最小设置......
  • Spring学习笔记(三)——Spring依赖注入
    1.SpringBean属性注入的几种方式1.1构造函数注入使用构造函数实现属性注入大致步骤如下:在Bean中添加一个有参构造函数,构造函数内的每一个参数代表一个需要注入的属......
  • Django_request学习
    Django_request(1)请求方式这里使用一个接口测试软件postman可以看到里面有非常多的发起请求的方式,最常用的就是GET和POST请求,但是这些方法无法在网页的url里显示在学......
  • Linux学习笔记3——vi和vim编辑器
    Linux学习笔记3——vi和vim编辑器一、vi和vim编辑器:vi和vim是Linux中的文本编辑器,用来在Linux中创建、查看或编辑文本文件,就好像window系统的记事本一样,但是不能查看图片......
  • Linux学习笔记2——目录结构
    Linux学习笔记2——目录结构一、Linux的目录结构:Linux只有一个根目录:/层级式的目录结构:1)root:该目录为系统管理员目录,root是具有超级权限的用户。2)bin->usr/bin:存放系......
  • python学习Day54
    Day54今日内容概要一.DOM其他操作1.JS获取用户输入2.JS类属性操作3.JS样式操作(了解)4.JS事件(1)什么是事件(2)绑定事件的两种方式(3)事件中的重点关键字this......
  • HCIA学习笔记二十四:单臂路由实现VLAN间路由
    一、VLAN的缺点• VLAN隔离了二层广播域,也就严格地隔离了各个VLAN之间的任何流量,分属于不同VLAN的用户不能互相通信。二、使用VLANTrunking• 二层交换机和路由器之......