介绍
@peek4y/express-restify-mongoose 是一个帮助快速搭建 RESTful API 服务的 Node.js 模块。它使用了 express 和 restify,可以为数据库中的每个模式自动生成 CRUD 操作和 API。
安装
使用以下命令来安装 @peek4y/express-restify-mongoose:
npm install @peek4y/express-restify-mongoose --save
使用
下面是一个简单的示例,它展示了如何使用 @peek4y/express-restify-mongoose 来生成一个名为 books 的 API。
-- -------------------- ---- ------- ----- ------- - ------------------- ----- ------- - ------------------------------------ ----- -------- - -------------------- ----- --- - ---------- --------------------------------------------- ------------------ ---------------------- - ------ ------- ------- ------- ------------ ----- ---- ---------------- ---------- - ---------------------- -- ---- ------- ---
上面的示例使用了 Mongoose,因此需要在代码中引入它。使用 Mongoose 的另一个好处是可以在模式中使用所有 MongoDB 支持的查询。
API 的路径将基于模式和数据库的名称生成。在这个示例中,API 的路径为 /books,这是根据模式名生成的。如果使用的是 MongoDB,则默认的数据库名称将是模式的小写名称。
可以使用 restify.defaults 函数将一组默认设置提供给 restify:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- ------- - ------------------------------------ ----- -------- - -------------------- ----- --- - ---------- --------------------------------------------- ------------------ ---------------------- - ------ ------- ------- ------- ------------ ----- --- - ---------- ----- ------- ------- -------- ------ -------- -------------- -------------- --- ---------------- ---------- - ---------------------- -- ---- ------- ---
这里的 lowercase 选项使所有路由小写,prefix 选项增加了 /api 前缀,version 选项增加了 /v1 版本前缀,private 选项过滤掉了 deleted_at 和 updated_at 属性,不会出现在 API 中。
搜索
@peek4y/express-restify-mongoose 还提供了对查询的支持。可以使用管道符和查询字符串来构建复杂的查询。例如,要搜索所有标题中包含“Node.js”并且作者为“Jack”的书籍,可以使用以下代码:
GET /books?filters={"title":{"$regex":"Node.js"},"author":"Jack"}
结论
@peek4y/express-restify-mongoose 可以大大减少创建 RESTful API 的工作量。它的查询语言简单易懂,可以处理许多不同类型的查询,并且支持与 Mongoose 的所有功能进行集成。使用它,可以快速地建立一个健壮的 API,使你可以专注于你的业务逻辑。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005523981e8991b448cfc24