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 請點擊 這裏)

相關文章
相關標籤/搜索