首页 > 解决方案 > angular 6 ionic 让http请求在有限的数据中搜索id

问题描述

是否可以指示http put请求在有限的数据中搜索id?场景是我有一个名为“购物车”的表,其中包含添加到购物车的数据用户列表。表 'cart' 与另一个表 'user' 有关系,并包含 user_id 作为列。现在,当我发出 http put 请求时,我通常会发送“cart_id”作为参数,它工作正常。但是后台的角度会在所有记录中搜索“cart_id”,包括其他用户“user_id”。所以它不必要地遍历数据。那么有什么方法可以告诉 Angular 仅在具有特定“user_id”的记录中搜索“cart_id”。

例如。更新 'cart_id' 10 处的数据,其中 'user_id' 为 2

标签: angularhttpangular6httprequestput

解决方案


我将假设您使用 Angular 作为后端服务,而不是作为 SPA 应用程序。

您需要的是让您的端点接受超过 1 个参数。您正在使用 put 参数,因此我还假设您要更新cart资源的user资源。

这将采用以下格式http://hostname/api/user/{userId}/cart/{cardId}

如果您使用的是 express js,那么它看起来像:

app.route('/api/user/:userId/cart/:cartId').put((req, res) => {
  req.params['userId'];
  req.params['cartId'];
  res.send(200, req.body)
})

相同的原则适用于所有其余 API。设置您的资源并在有意义的层次结构中访问它们。


推荐阅读