Apisix Lua 插件开发规范及指引
开发指引
参考 https://www.bookstack.cn/read/apisix-3.2-zh/04cfe4a73d787983.md#插件开发
开发规范
1、命名规范
以小写字母、下划线命名
2、公共功能放到固定目录文件
/usr/local/apisix/apisix/plugins/custom_utils/tools.lua
3、插件内部 定义 _M 为主体对象
需要定义版本,优先级,名称,参数(如果需要传参)
local _M = {
version = 0.2,
priority = 3004,
name = plugin_name,
schema = schema,
}
4、如果有传参,需做插件参数校验
如:
local schema = {
type = "object",
properties = {
header = {
type = "string",
default = "apikey",
},
query = {
type = "string",
default = "apikey",
},
},
}
function _M.check_schema(conf)
return core.schema.check(schema, conf)
end
5、注意事项
修改插件:
修改完毕执行 apisix reload
新增插件:
插件编写完毕后
1)修改 /usr/local/apisix/conf/config.yaml,执行 apisix reload
2)执行
cd /usr/local/apisix/dashboard/conf/
curl 127.0.0.1:9090/v1/schema>schema.json
systemctl restart apisix-dashboard

浙公网安备 33010602011771号