我遇到了同样的问题,最后发现原因是在别的文件里拿get请求时获取的ngx.req.get_uri_args(),使用require进来的不会变,举例代码:
test.lua:
local cjson = require("cjson")
ngx.say(cjson.encode(require("lib.request")))
ngx.say(cjson.encode(ngx.req.get_uri_args()))
lib.request.lua:
return ngx.req.get_uri_args()
curl "localhost:8001/api/test?p=2"
curl "localhost:8001/api/test?t=1&p=2"
{"p":"2"}
{"t":"1","p":"2"}