简体   繁体   中英

How to make a GET and POST request to an external API?

var Attendance = require('../../../collections/attendance').Attendance;

var moment = require('moment');

module.exports = function(app) {

app.get('/api/trackmyclass/attendance', function(req, res) {
    var data = req.body;
    data['user'] = req.user;
    Attendance.getByUser(data, function(err, d) {
        if (err) {
            console.log('This is the err' + err.message);
            res.json(err, 400);
        } else {
            var job = d['attendance'];
            if (typeof job != undefined) {
                res.json(job);
                console.log('This is it' + job['status']);
            } else
                res.json('No data Present', 200);
        }

    });
});

app.post('/api/trackmyclass/attendance', function(req, res) {
    var data = req.body;
    data['user'] = req.user;
    Attendance.create(data, function(err, d) {
        if (err) {
            console.log('This is the err' + err.message);
            res.json(err, 400);
        } else {
            var attendance = d['attendance'];
            if (typeof job != undefined) {
                console.log('Attendance record created' + attendance);
                res.json(attendance);
            } else
                res.json('No data Present', 200);
        }

    });
});
}

This is the api code I to which I need to make the GET and POST request. But I have no idea how to do it.

It looks like your code is using express which would normally be good for building and API for your app. However to make a simple request to a third party api and staying in node.js why not try the request module which is great. https://www.npmjs.org/package/request

Your example does not show what the path of the request is or if you need any additinal headers etc but here is a simple example of a GET request using request.

var request = require('request');

function makeCall (callback) {
    // here we make a call using request module
    request.get( 
        { uri: 'THEPATHAND ENDPOINT YOU REQUEST,
         json: true,
          headers: {
            'Content-Type' : 'application/x-www-form-urlencoded',
        }
        },
        function (error, res, object) {
          if (error) { return callback(error); }

            if (res.statusCode != 200 ) {
              return callback('statusCode');
            }

            callback(null, object);
        }
      );

}

or jquery .ajax from a front end client direcct to your path

$.ajax({
url: "pathtoyourdata",
type: "GET",
})
.done(function (data) {
//stuff with your data
});

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM