目录
编写soul-spring-boot-starter-plugin-helloworld
插件职责介绍
-
插件是 soul 网关的核心执行者,每个插件在开启的情况下,都会对匹配的流量,进行自己的处理。
-
在soul 网关里面,插件其实分为2 类:
-
一类是单一职责的调用链,不能对流量进行自定义的筛选。
-
另一类,能对匹配的流量,执行自己的职责调用链。
-
以上是从官网引用的几句话,那么今天我们来自定义一个能够匹配流量的插件。
自定义插件
编写soul-plugin-helloworld
在soul-plugin模块下新增一个模块soul-plugin-helloworld,按照插件统一风格,新建包org.dromara.soul.plugin.helloworld,然后在该包下新建HelloWorldPlugin.java。
HelloWorldPlugin实现AbstractSoulPlugin,重写doExcute,getOrder,named,skip四个方法。
doExcute:自定义插件要执行的逻辑,这里我们做一个很简单的事情,就是通过日志打印一行hello world。
getOrder:插件链执行的顺序,这里我们定义10,排在globalPlugin后面即可。
named:指定插件的名称。
skip:是否被跳过执行,这里我们直接指定死不被跳过,当然可以自行实现逻辑,满足什么条件下可以被跳过。