8、在 Node.js 中编写首个微服务

Node.js微服务入门与实践

在 Node.js 中编写首个微服务

1. 产品管理微服务

在构建产品管理微服务时,我们需要实现多种功能,如按类别、ID 检索产品,添加、删除和编辑产品等。

1.1 按类别检索产品

按类别检索产品与检索全量产品列表非常相似,唯一的区别在于 Seneca 动作需要一个参数来按类别过滤产品。以下是示例代码:

/**
 * Fetch the list of products by category.
 */
seneca.add({area: "product", action: "fetch", criteria:  "byCategory"}, function(args, done) {
  var products = this.make("products");
  products.list$({category: args.category}, done);
});

高级开发者可能会担心这是否会引发注入攻击,实际上 Seneca 足够智能,可以防止此类攻击。这里传递的 category 参数会被委托给 Seneca 数据抽象层,该层会根据所使用的存储生成相应的查询。这在微服务中非常强大,因为 Seneca 以优雅的方式处理了耦合问题。

1.2 按 ID 检索产品

按 ID 检索产品是一项必要且棘手的操作。从代码角度来看并不复杂:

/**
 * Fetch a product by
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值