Kong Gateway 修改源碼完成自定義錯誤返回

背景

最近在部署一套基於kong的網關係統,kong默認的錯誤和kong中插件的提示返回不符合制定的開發統一規範. docker

經過查閱官方文檔以及官方Github issue發現只有修改kong lua 源碼才能知足開發需求json

Tips: Response Transformer Plugins 沒法知足開發需求

環境

Kong Version:5.1api

做者部署方式

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

解決

網關錯誤提示字段

默認返回的錯誤提示字段爲messagebash

{"message": "some error tips"}

須要將message修改成erroroop

{"error": "some error tips"}

具體修改

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

路由不存在錯誤提示

默認返回插件

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

修改成code

message 在上一步已經修改成 error
{
  "error": "Route not found"
}

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

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

結語

還有一些插件的提示,這裏就不展開說了,可根據需求自行調整.

ar414

相關文章
相關標籤/搜索