目录
- 开发指引
- 开发规范
- 1、命名规范
- 2、公共功能放到固定目录文件
- 3、插件内部 定义 _M 为主体对象
- 4、如果有传参,需做插件参数校验
- 5、注意事项
- 修改插件:
- 新增插件:
开发指引
参考 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