location / {
content_by_lua_file "lua/dispatch.lua";
}
location @user_profile_api12 {
content_by_lua_block {
ngx.say("xxxx")
}
}
location @user_profile_api3 {
content_by_lua_block {
ngx.say("hahahah")
}
}
lua/dispatch.lua
-------------------------------
local request_method = ngx.var.request_method
local arg=nil
if request_method == "GET" then
arg = ngx.req.get_uri_args()['params']
elseif request_method == "POST" then
ngx.req.read_body()
arg = ngx.req.get_post_args()['params']
end
if arg ~= nil then
local json = require("cjson")
local jsonObj = json.decode(arg)
local profile = jsonObj['query']['user_profile']
local years = jsonObj['query']['year_id']
if years ~= nil and profile ~= nil and profile[1] == 'bought_record' then
ngx.exec('@user_profile_api3')
elseif profile ~= nil and profile[1] == 'xubao' then
ngx.exec('@user_profile_api3')
else
ngx.exec('@user_profile_api12')
end
end