Lapis框架如何“接受”和“返回”JSON数据
by 糖果
Lapis可以定义Json格式的路由,Lapis本身,提供了JSON的解析机制,可以用json_params动作装饰器,想请求发过来的json数据,传self.parms变量中,代码如下:
local json_params = require("lapis.application").json_params
app:match("/json", json_params(function(self)
return self.params.ip
end))
用Curl模拟请求:
$ curl \
-H "Content-type: application/json" \
-d '{"ip": "127.0.0.1"}' \
'https://localhost:8080/json'
返回的JSON数据解析:
<!DOCTYPE HTML><html lang="en"><head><title>Lapis Page</title></head><body>127.0.0.1</body></html>
Lapis返回json数据一目了然,直接指定json关键字,然后赋予一个lua table的数据结构就好,如下:
local lapis = require("lapis")
local app = lapis.Application()
app:get("/", function()
return "Welcome to Lapis " .. require("lapis.version")
end)
app:get("/world", function()
return { json = { success = true, ip="127.0.0.1" } }
end)
return app