2016-07-20 4 views
1
でクライアント側にサーバ側からのGETリクエストJSONオブジェクトを送信します

私は現在は、私は一般的に、新規のNode.jsとサーバー側のスクリプトだと、現在ここで見つけるbrewerydbノードラッパー(<a href="https://www.npmjs.com/package/brewerydb-node" rel="nofollow">https://www.npmjs.com/package/brewerydb-node</a>)</p> で練習しています<p>のNode.js

var express = require('express'); 
var app = express(); 
var morgan = require('morgan'); 
var bodyParser = require('body-parser'); 
var BreweryDb = require('brewerydb-node'); 
var brewdb = new BreweryDb([api-key here]); 
var request = require('request'); 

app.use(bodyParser.json()); 

brewdb.breweries.getById("g0jHqt", {}, function(err, beer) { 
    if(err) { 
     console.log(res.statusCode()); 
    } else { 
     console.log(beer.name); 
    } 
}) 

app.listen(8000, function() { 
    console.log("Listening at http://localhost:8000"); 
}) 

私は私が解析可能性への応答として送信され、このオブジェクトを持って行くだろうかわからないんだけど、コマンドラインに適切なJSONオブジェクトをログに記録します次のサーバー側のコードを持っていますこのラッパーには「res」または「req」パラメーターがないため、クライアントサイドコードを使用します。

答えて

1
あなたがそうのように、ルートにリクエストをラップしたい

:これは完全に働いた

var express = require('express'); 
var app = express(); 
var morgan = require('morgan'); 
var bodyParser = require('body-parser'); 
var BreweryDb = require('brewerydb-node'); 
var brewdb = new BreweryDb([api-key here]); 
var request = require('request'); 

app.use(bodyParser.json()); 

app.get('/breweries/:id', function(req,res){ 
    // in here a request to http://localhost:8000/breweries/g0jHqt will fetch the same as your example code 
    brewdb.breweries.getById(req.params.id, {}, function(err, beer) { 
    if(err) { 
     console.error(err); 
     res.status(500).send("An error occurred"); 
    } else if(beer) { // we found the beer 
     res.send(beer); 
    } else{ 
     res.status(404).send('We could not find your beer'); 
    } 
    }) 
}); 

app.listen(8000, function() { 
    console.log("Listening at http://localhost:8000"); 
}) 
+0

は、ありがとうございました! – cn1993