node-odata: 基于 NodeJS 的 REST 框架

该开源项目目前已被 OData 官网 (odata.org)收录node

关于 node-odata

node-odata 可让你轻松建立 REST API, 并能使用 OData 协议的格式进行数据的查询. 它让你能够更方便的建立 API 服务, 使你更专一于业务逻辑的处理.git

什么是 OData 协议?

OData 全称开放数据协议(Open Data Protocol), 是一个用于 web 的数据访问协议. OData 提供了一个统一的 CRUD (create, read, update, and delete) 操做来查询和维护数据集.github

为何使用 node-odata?

node-odata 同时结合了 OData 强大的数据查询能力以及 NodeJS 高并发能力的优点, 使开发者能快速的建立一个高性能并支持各类复杂查询的 REST API.web

在常规的 REST 框架中, 仅仅提供了 REST 风格的 CRUD 操做. 开发者不的不对每个资源都手动添加一些公共功能, 如排序/分页等, 甚至在复杂的业务场景中, 开发者不的不一次次根据业务需求制定一些特定的复杂查询, 这都极大的浪费了人力资源. OData数据访问协议很好的解决了这一问题. 它定义了$filter, $orderby, $select等一系列关键字来进行统一的筛选, 排序, 分页等操做. 极大的减轻了开发者的负担, 提升了生产力.mongodb

反观 OData 社区, 目前 node-odata 是惟一一款基于 NodeJS 的 OData 实现. 与其它编译型语言的 OData 实现相比, 它运行更加高效, 部署更加方便, 编写更加简单 (最短只需3行代码便可初始化一个 OData 服务).npm

0) Demo

OData最大的特色就是他彻底暴露的数据接口, 服务端只须要几行代码就能让客户端实现为所欲为的查询, 您能够试试:并发

很酷炫, 是吗? 你还能够任意组合查询条件, 以实现复杂查询. 好比:app

1) 安装

node-odata 的运行须要依赖于 NodeJSMongoDB, 在安装了依赖项以后, 运行如下命令便可:框架

$ npm install node-odata

2) 快速开始

这里咱们讲建立并运行一个最简单的 OData 服务.ssh

2.1 建立服务

安装完成后, 新建 index.js 文件并输入:

var odata = require('node-odata');

odata.set('db', 'mongodb://localhost/my-app');

odata.resources.register({
    url: '/books',
    model: {
        title: String,
        price: Number
    }
});

odata.listen(3000);

2.2 运行服务

保存后输入如下命令便可启动 OData 服务:

$ node index.js

它将自动注册如下路由:

GET    /odata/books
GET    /odata/books/:id
POST   /odata/books
PUT    /odata/books/:id
DELETE /odata/books/:id

(点击 这里 查看完整文档)

(查看 GitHub Page 请点击 这里)

相关文章
相关标签/搜索