Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to pass string variable as parameter to REST API call using node js

Tags:

node.js

var express = require('express');
var app = express();

// Get Pricing details from subscription
app.get('/billingv2/resourceUri/:resourceUri', function(req, res) {

    var pricingDetail = {}

    pricingDetail.resourceUri = req.params.resourceUri;
    pricingDetail.chargeAmount = '25.0000';
    pricingDetail.chargeAmountUnit = 'per hour';
    pricingDetail.currencyCode = 'USD';

    res.send(pricingDetail); // send json response
});

app.listen(8080);

I need to call the above API using the string parameter vm/hpcloud/nova/standard.small. Please note that vm/hpcloud/nova/standard.small is a single string param.

like image 574
Prem Avatar asked Jul 10 '13 10:07

Prem


2 Answers

Assuming node.js and express.js.

Register a route with your application.

server.js:

...
app.get('/myservice/:CustomerId', myservice.queryByCustomer);
....

Implement the service using the req.params for the passed in Id.

routes/myservice.js:

exports.queryByCustomer = function(req, res) {
    var queryBy = req.params.CustomerId;
    console.log("Get the data for " + queryBy);
    // Some sequelize... :)
    Data.find({
        where : {
        "CustomerId" : parseInt(queryBy)
        }
    }).success(function(data) {
        // Force a single returned object into an array.
        data = [].concat(data);
        console.log("Got the data " + JSON.stringify(data));
        res.send(data);  // This should maybe be res.json instead...
    });

};
like image 193
Jess Avatar answered Sep 24 '22 20:09

Jess


On your app.js:

url: http://localhost:3000/params?param1=2357257&param2=5555

var app = express();
app.get('/params', function (req,res) {

        // recover parameters

    var param1=req.query.param1;
    var param2=req.query.param2;

    // send params to view index.jade   
    var params = {
        param1: param1,
        param2: param2
        };
    res.render('index.jade', {parametros: parametros});             
 });

At index.jade to recover values:

p= params.param1

p= params.param2
like image 28
DonutMan Avatar answered Sep 23 '22 20:09

DonutMan