怎么在Openresty中REST?
Posted 糖果的实验室
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么在Openresty中REST?相关的知识,希望对你有一定的参考价值。
1.conf文件实现REST API
location /json/ {
default_type application/json;
add_header Content-Type 'text/html; charset=utf-8';
return 200 '{"about":"糖果的Lua入门教程,"sites":"https://lua.ren"}';
}
2.nginx Lua实现REST API
json = require "cjson"
ngx.header['Content-Type'] = 'application/json; charset=utf-8'
ngx.say(json.encode(ret))
三步操作:
a).设置HTTP的响应头信息:
ngx.header['Content-Type'] = 'application/json; charset=utf-8'
b).json.encode(“Lua的Table型变量”):
json = require "cjson"
res_json_data = json.encode(ret)
c).用say函数显示,经过encode的JSON数据。
ngx.say(res_json_data)
location /json/ {
access_by_lua_block '
json = require "cjson"
ngx.header['Content-Type'] = 'application/json; charset=utf-8'
ngx.say(json.encode(ret))
';
}
3.Lua毛坯Web框架
app.run = function()
fun = Route:run(app.router)
if fun then
local ret = fun(app.req, app.id)
local rtype = type(ret)
if rtype == "table" then
json = require "cjson"
ngx.header['Content-Type'] = 'application/json; charset=utf-8'
ngx.say(json.encode(ret))
end
end
end
local HiLog = require "HiLog"
local utils = require "utils.utils"
local Application = require "orc"
app = Application.new()
app:get("/json", function(request,id)
return {k='lua', v='ren'}
end)
app:get("/string", function(request,id)
return "https//lua.candylab.net"
end)
return app.run()
文章大纲
1.conf文件实现REST API
2.Nginx Lua实现REST API
a).设置HTTP的响应头信息:
b).json.encode(“Lua的Table型变量”):
c).用say函数显示,经过encode的JSON数据。
3.Lua毛坯Web框架
以上是关于怎么在Openresty中REST?的主要内容,如果未能解决你的问题,请参考以下文章
Spring Rest 文档。片段生成时 UTF-8 中间字节无效 [重复]
Ceryx —— 基于 NGINX OpenResty 的动态反向代理