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
posted @ 2025-09-09 18:03  醒日是归时  阅读(18)  评论(0)    收藏  举报