封装http请求

accc3b9cf1e7dd01b6bfd10c5077b6aa2ed7c270

在server添加反向代理
ac87c207fa96b5fffe4a1b1e624096c565985a24

http请求封装成函数,形参是 请求路径和请求字段

7edeb140ba75ede94206edb07af5c9835e123b7b

查询失败nil , 则返回404, 否则return body

拆解封装http的过程:
1.封装成局部函数
04c447255ca1445fb138b7a9913cded26252b508

2.模块化
其实_M是一个table, 然后装了一个函数元素,

我们后续通过一个local name变量接收require(‘文件名’)的到一个_M

然后再用name.read_http(path,params)即可调用

24b2e121269b72dac3cfdf2da0b911fa737a6d63

3.
0152691e20878d0be261a26adb0e090cef4baf99

8c74b4ff1a48e4c3104fb43bb6083fa6c620e30b

实例:

Lua 的 table 就是一个超级 HashMap。
它既能当数组,又能当字典,还能当对象、模块甚至类用。
所以 Lua 整个语言(包括模块系统 _M)几乎都是靠 table 构建的。

ab9f4294785a390fa6061383419c7fc9c415d465

cjson库的作用
93af9c20a6cd711ce839c6843b723306191ca016

我们想要对商品信息添加库存和销量就需要先将json转化为table,
然后加入entry,返回的时候再返回json

edc312971ecfbaefef23822a7ea36c19d8464ffd