当前位置: 首页 > news >正文

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
http://www.rkmt.cn/news/1055.html

相关文章:

  • 《ai工具合集》14G
  • WPF中的坐标系统
  • DP 总结(未完成)
  • python介绍与安装
  • iframe 跨域通信实战:可视化编辑器的技术实现
  • 实时流式响应的 SSE 技术实现
  • 读书笔记:什么是对象表?
  • 在SQL语句中的别名
  • 自我介绍+软工5问
  • 车道线检测资料
  • 建造者模式进阶:复杂AI服务的优雅构建
  • 代理模式在AI应用中的安全实践:AOP + 限流 + 权限控制
  • 软工作业1
  • 避坑指南!Flutter 编译 Android 程序常见问题 + 解决方案,附安全加固技巧
  • 搭建GZCTF平台及上传动态flag密码题目过程
  • Linux系统目录结构全解析:基础到大神必读!
  • Tor浏览器内置网桥失效 - Andy
  • 【API接口】应用商店接口
  • 异步电机的无速度传感器的矢量控制
  • 打包好dist文件 本地如何测?
  • Typora--Markdown语法
  • Perfetto数据流架构故障分析:带你研究 trace 为何丢失
  • 记一次 .NET 某中医药附属医院门诊系统 崩溃分析
  • 【LangChain 核心模块 01】
  • PageHelper
  • MathType7 功能分析
  • 低版本 Linux【16.04】如何安装 claude code
  • 什么,以太网能传CAN报文?
  • 阿里云文件上传oss存储
  • AT_agc014_f [AGC014F] Strange Sorting