web-dev-qa-db-ja.com

Node.jsを使用してREST APIに接続する

Node.jsを使用して、2つのREST APIを接続するスタンドアロンアプリを作成することは賢明ですか?

一端はPOS-POS-システム

もう1つは、ホステッドeコマースプラットフォームです。

サービスを構成するための最小限のインターフェースがあります。これ以上何もない。

9
AndrewMcLagan

はい、Node.jsは外部APIの呼び出しに最適です。ただし、Nodeのすべての機能と同様に、これらの呼び出しを行うための関数はイベントに基づいています。つまり、完了した単一の応答を受信するのではなく、応答データをバッファリングするなどの処理を実行します。

例えば:

// get walking directions from central park to the empire state building
var http = require("http");
    url = "http://maps.googleapis.com/maps/api/directions/json?origin=Central Park&destination=Empire State Building&sensor=false&mode=walking";

// get is a simple wrapper for request()
// which sets the http method to GET
var request = http.get(url, function (response) {
    // data is streamed in chunks from the server
    // so we have to handle the "data" event    
    var buffer = "", 
        data,
        route;

    response.on("data", function (chunk) {
        buffer += chunk;
    }); 

    response.on("end", function (err) {
        // finished transferring data
        // dump the raw data
        console.log(buffer);
        console.log("\n");
        data = JSON.parse(buffer);
        route = data.routes[0];

        // extract the distance and time
        console.log("Walking Distance: " + route.legs[0].distance.text);
        console.log("Time: " + route.legs[0].duration.text);
    }); 
}); 

これらの呼び出しを多数行う場合は、単純なラッパーライブラリを見つける(または独自のラッパーライブラリを作成する)のが妥当です。

28
Robert Mitchell

承知しました。 node.js APIには、HTTPリクエストを行うためのメソッドが含まれています。

あなたが書いているアプリはウェブアプリだと思います。 Express のようなフレームワークを使用して、面倒な作業の一部を削除することができます(ノードの も参照) .js Webフレームワーク )。

1
Paul D. Waite