Kong Gateway 修改源码完成自定义错误返回

背景#

最近在部署一套基于 kong 的网关系统,kong 默认的错误和 kong 中插件的提示返回不符合制定的开发统一规范.

通过查阅官方文档以及官方 Github issue 发现只有修改 kong lua 源码才能满足开发需求

Tips: Response Transformer Plugins 无法满足开发需求

环境#

Kong Version:5.1

作者部署方式#

  1. docker-compose
  2. 通过 volumes 映射已修改的 kong lua dir
    ...
    volumes:
    - ./kong:/usr/local/share/lua/5.1/kong/  
    ... 

解决#

网关错误提示字段#

默认返回的错误提示字段为 message

{"message": "some error tips"}

需要将 message 修改为 error

{"error": "some error tips"}

具体修改#

file:/usr/local/share/lua/5.1/kong/tools/utils.lua
line:1105 ~ 1130

路由不存在错误提示#

默认返回

{
  "message": "no Route matched with those values"
}

修改为

message 在上一步已经修改为 error

{
  "error": "Route not found"
}

file1: /usr/local/share/lua/5.1/kong/runloop/handler.lua
line: 1096

file2: /usr/local/share/lua/5.1/kong/plugins/acme/api.lua
line: 78

结语#

还有一些插件的提示,这里就不展开说了,可根据需求自行调整.

ar414

Support Author#

coffee alipay wechat

本作品采用《CC 协议》,转载必须注明作者和本文链接
AR414