在 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
Node.js微服务入门与实践
超级会员免费看
订阅专栏 解锁全文
4

被折叠的 条评论
为什么被折叠?



