ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Apisix Lua 插件开发规范及指引

Apisix Lua 插件开发规范及指引

目录
  • 开发指引
  • 开发规范
    • 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
返回列表