微服务框架
【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】
多级缓存
文章目录
- 微服务框架
- 多级缓存
- 48 多级缓存
- 48.3 请求参数处理
- 48.3.1 OpenResty获取请求参数
- 48.3.2 直接上案例
48 多级缓存
48.3 请求参数处理
48.3.1 OpenResty获取请求参数
OpenResty提供了各种API用来获取不同类型的请求参数:
参数格式 | 参数示例 | 参数解析代码示例 |
---|---|---|
路径占位符 | /item/1001 | |
请求头 | id:1001 | – 获取请求头,返回值是table类型 local headers = ngx.req.get_headers() |
Get请求参数 | ?id=1001 | – 获取GET请求参数,返回值是table类型 local getParams = ngx.req.get_uri_args() |
Post表单参数 | id=1001 | – 读取请求体 ngx.req.read_body() – 获取POST表单参数,返回值是table类型 local postParams = ngx.req.get_post_args() |
JSON参数 | {“id”: 1001} | – 读取请求体 ngx.req.read_body() – 获取body中的json参数,返回值是string类型 local jsonBody = ngx.req.get_body_data() |
48.3.2 直接上案例
【案例】获取请求路径中的商品id信息,拼接到json结果中返回
在查询商品信息的请求中,通过路径占位符的方式,传递了商品id到后台:
需求:在OpenResty中接收这个请求,并获取路径中的id信息,拼接到结果的json字符串中返回
直接开干
修改open 中的配置文件
这样就可以拿到路径参数 了
编写lua 文件
-- 获取路径参数
local id = ngx.var[1]
-- 返回结果
ngx.say('{"id":'.. id ..' ,"name":"SALSA AIR","title":"RIMOWA 26寸托运箱拉杆箱 SALSA AIR系列果绿色 820.70.36.4","price":19900,"image":"https://m.360buyimg.com/mobilecms/s720x720_jfs/t6934/364/1195375010/84676/e9f2c55f/597ece38N0ddcbc77.jpg!q70.jpg.webp","category":"拉杆箱","brand":"RIMOWA","spec":"","status":1,"createTime":"2019-04-30T16:00:00.000+00:00","updateTime":"2019-04-30T16:00:00.000+00:00","stock":2999,"sold":31290}')
保存
重新加载Nginx配置
再次访问
日,怎么404 了
看看
超了,少了一个斜杠,加上再试一次
换成访问10002
没毛病,这样就获取到了 请求参数