angular - 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
解决方案
我将假设您使用 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。设置您的资源并在有意义的层次结构中访问它们。
推荐阅读
- scala - 如何使用scala在火花中洗牌稀疏向量
- javascript - Node.js API 请求随机停止
- django - 如何基于 Django API 添加动态元标记以响应应用程序
- python - 在每行数据类型为列表的列中查找新值
- angular - 如何将动态值添加到
在角度 9? - html - 可访问性测试失败:元素必须将其可见文本作为其可访问名称的一部分
- bluetooth - 仅使用 hcitool 连接 LE 设备的步骤
- php - 在书中发现了无法阅读的内容
- laravel - 当 id 在 laravel 中不相等时取
- objective-c - 我们可以在 Mac OSX 的命令行应用程序中添加钥匙串访问组权利吗?