用户登录

在自定义的 JSON Server 服务里面,添加一个新的接口可以处理添加新项目到购物车里的请求 .. 用一下 server.post .. 地址是 /cart-item ..

一个回调函数 .. 函数里面有 req 表示请求,还有 res 表示响应 ..

使用 post 方法请求这个地址的时候,可以在请求的主体里面提供产品的 id 号,还有要购买的产品数量 .. 添加一个 product_id .. 它的值用一下 parseInt 处理 req,body 上的 product_id .. 把它转换成数字 ..

原因是我们的接口里面产品的 id 号是数字类型的值 .. 一般资源的 id 号应该是字符串类型的 .. req.body 上的东西就是请求里带着的主体数据 ..

下面添加一个 quantity .. 用 parseInt 处理 req.body 上的 quantity 这个属性 .. 它是要购买的产品的数量 ..

然后我们可以根据产品 id 的值找到对应的产品 .. 添加一个 product .. 用一下 getProduct .. 把产品的 id 号交给它 ..

下面判断一下 .. 如果没有找到指定的产品 .. 我们可以响应一个 404 的状态码 .. 然后 return ..

如果有产品 .. 就从产品里解构出来一些属性 .. 需要 name .. price.. 还有 images .. 它们都来自 product ..

再根据产品的价格还有要购买的数量算出一个总计的金额 .. 添加一个 total .. 它的值可以是 price 乘以 quantity .. 使用 price 还有 quantity 的时候要把它们转换成数字 ..

再去组织一个 item ,就是要添加到购买车里的项目 .. 一个对象 .. 里面有 product_id .. 还有 name .. 还需要一个 image .. 它的值是 images 里的第一个项目的 src 属性的值 ..

price 是价格 .. quantity 是数量 ... 最后还有一个 total ..

组织好以后把这个购物车项目放到购物车的项目里 .. 可以使用一个方法 .. 名字是 addCartItem ... 把 item 交给它 ..

最后再做出响应 .. 状态码是 201 ..

下面定义一下 addCartItem 这个函数 .. 这个方法接收一个 item 参数 .. 函数里面添加一个 result .. 用一下 db.get .. 得到 cart 里的 items .. 接着再用 push ,把传递给这个方法的 item 放到 cart 下面的 items 里面 .. 最后执行一下 write 确定写入数据文件 ..

return result ..

打开 db.json .. 把 total 的值设置成 0 .. 再去掉 items 里的东西 ..

在 http 客户端配置一个请求 .. 方法是 post .. 请求的地址是 /cart-item .. 请求的时候带着一个 json 数据 .. 需要提供一个 product_id .. 它是产品的 id 号 .. 还有需要 quantity .. 表示要购买的这件产品的数量 .. 执行一下 ..

再看一下 db.json .. cart 里的 items 里面,又出现一个项目 ..

添加购物车项目(POST: cart-item)《 电商小程序案例:购物车接口 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点