restify module

restify是非常有名的一個Node.js網路服務模組,提供實作REST Server與Client的方式,並且透過簡單的設定機制,規範REST Server與Client的操作,

Github Repository

https://github.com/mcavage/node-restify

Installation

npm install restify

Sample Usage

下面是改寫來自官網的基礎範例,顯示透過restify來撰寫http rest服務相當方便,直接透過server[method]即可操作(這也是目前Node.js HTTP模組常見的操作方式)

/**
 * 使用restify模組載入http server
 */
var server = require('restify').createServer();

/**
 * 建立一個http get的模組,路由設定為"/hello/:name"
 * 其中:name代表server在req.params中將帶入一個參數叫做name的
 * 
 * callback function的三個參數分別代表:
 * req: http request物件,封裝有http server接收request相關的資訊
 * res: http response物件,封裝有http server要回應request的相關資訊
 * next: http server的流程控制物件,當呼叫next時候,
 * http server將會往下找下一個callback function
 */
server.get('/hello/:name', 
  function (req, res, next) {
    res.send({msg: 'hello ' + req.params.name});
    //res.send()所帶入的參數需要為json格式,否則會出現下面錯誤:
    //{"code":"InternalError","message":"Object.keys called on non-object"}
});

/**
 * 建立一個http head的function,如果您使用curl,可以這樣呼叫:
 * curl -is http://localhost:8080/hello/mark -X HEAD -H 'connection: close'
 */
server.head('/hello/:name', 
  function (req, res, next) {
    res.send({msg: 'hello ' + req.params.name});
});

/**
 * 實際上啟動server,listen在8080 port的動作
 */
server.listen(8080, function() {
  console.log('%s listening at %s', server.name, server.url);
});

results matching ""

    No results matching ""