クエリ文字列パラメータをURLに追加する方法に苦労しています。?
URLの最後に追加する必要があることに気付くまで、それを機能させることができませんでした。そうしないと、機能しません。これはデバッグの時間を節約するので非常に重要です、私を信じてください:そこにいました...それをしました。
以下は、呼び出す単純なAPIエンドポイントでオープン天気APIをして渡しAPPID
、lat
およびlon
などのクエリパラメータと戻り気象データなどのJSON
オブジェクトが。お役に立てれば。
var request = require('request');
var querystring = require('querystring');
var OpenWeatherAppId = require('../config/third-party').openWeather;
router.post('/getCurrentWeather', function (req, res) {
var urlOpenWeatherCurrent = 'http://api.openweathermap.org/data/2.5/weather?'
var queryObject = {
APPID: OpenWeatherAppId.appId,
lat: req.body.lat,
lon: req.body.lon
}
console.log(queryObject)
request({
url:urlOpenWeatherCurrent,
qs: queryObject
}, function (error, response, body) {
if (error) {
console.log('error:', error);
} else if(response && body) {
console.log('statusCode:', response && response.statusCode);
res.json({'body': body});
}
})
})
または、querystring
モジュールを使用する場合は、次の変更を加えます
var queryObject = querystring.stringify({
APPID: OpenWeatherAppId.appId,
lat: req.body.lat,
lon: req.body.lon
});
request({
url:urlOpenWeatherCurrent + queryObject
}, function (error, response, body) {...})