2016年2月2日 星期二

以node.js快速建置HTTP回應電文範例


需求:Android與iOS作為Client端之開發單位進行電文查詢之教育訓練。
目標:以最簡易的方式使手機開發工程師可以模擬與Server做資料交換。
分析:考量到團隊成員大多只有純行動開發的經驗,故選用JavaScript作為共通的語言。
環境:Mac OS


下面分享在本機啟動http server並回覆電文的方式,使用node.js以Javascript語言開發步驟:
  1. 下載與安裝node.js:https://nodejs.org/en/
    • 此例使用的是v5.5.0
    • 安裝完成訊息如下,顯示安裝套件與其位置
    • Node.js was installed at
         /usr/local/bin/node
      npm was installed at
         /usr/local/bin/npm
      Make sure that /usr/local/bin is in your $PATH.
      
  2. 編輯javascript檔案如下範例server.js
  3. 在終端機前往server.js相同目錄內執行:node server.js
    • 在終端機內要停止目前執行的程式可按control + c
  4. 瀏覽器中連接http://127.0.01:12345/aboutme/
  5. 瀏覽器顯示aboutme電文:(查詢使用postman)
  6. 之後即可以Client端程式連接此服務進行後續資料解析。

http = require('http');
url = require('url');

var host = '127.0.0.1';
var port = 12345;

var xml = '<root><name>KerKer</name></root>';

var server = http.createServer(
    function(req,res) {
        var pathname = url.parse(req.url).pathname;
         
        if(pathname === '/') {
            res.writeHead(200,{'Content-Type':'text/plain'});
            res.end('^_^ ~');
        } else if(pathname === '/aboutme/') {
            res.writeHead(200,{'Content-Type':'text/xml'});
            res.end(xml);
        }
    }
); 

server.listen(port);
console.log('Server running at http://' + host + ':' + port);

沒有留言:

張貼留言