如何使用express.js从API获取数据

如何使用express.js从API获取数据,express,Express,原料药 () 该API用PHP编写脚本,接受GET和POST命令,作为回报,它使用JSON响应数据进行响应。 要检索数据,API需要“功能”和“操作”以及其他参数,如下所示。 用于检索所有卡车的命令 用于检索所有卡车的命令 有效载荷 { “功能”:“获取”, “操作”:“获取所有卡车” } 按id检索卡车检查详细信息的命令 有效载荷 { “功能”:“获取”, “操作”:“获取检查历史记录”, “卡车司机”:“1” } 注意:您将从上面的“get_all_truck”命令中获得truckId 对你

原料药 () 该API用PHP编写脚本,接受GET和POST命令,作为回报,它使用JSON响应数据进行响应。 要检索数据,API需要“功能”和“操作”以及其他参数,如下所示。 用于检索所有卡车的命令 用于检索所有卡车的命令 有效载荷 { “功能”:“获取”, “操作”:“获取所有卡车” } 按id检索卡车检查详细信息的命令 有效载荷 { “功能”:“获取”, “操作”:“获取检查历史记录”, “卡车司机”:“1” } 注意:您将从上面的“get_all_truck”命令中获得truckId

对你有什么期望

作为软件开发人员,您的任务是设计和开发基于web的后端解决方案,该解决方案将具有:

  • 仪表板:- •检索并指示卡车总数
    •检索并指出要求的检查维修次数2。列出所有卡车:- •实施搜索选项
  • 检查表:- •通过卡车实施过滤器 我有一些使用express.js的代码,我得到的bt是404错误,没有检索到数据
  • app.js

    const apiCallFromRequest = require('./Request')
    const apiCallFromNode = require('./NodeJsCall')
    
    const http = require('http')
    
    http.createServer((req, res) => {
            if(req.url === "/request"){
                apiCallFromRequest.callApi(function(response){
                    //console.log(JSON.stringify(response));
                    res.write(JSON.stringify(response));
                    res.end();
                });
            }
            else if(req.url === "/node"){
                apiCallFromNode.callApi(function(response){
                    res.write(response);
                    res.end();
                });
            }
            
            // res.end();
    }).listen(3000);
    
    console.log("service running on 3000 port....");
    
    const https = require('https');
    
    _EXTERNAL_URL = 'https://api.mosmarts.com/truck/v0/api.php';
    
    
    const callExternalApiUsingHttp = (callback) => {
        https.get(_EXTERNAL_URL, (resp) => {
        let data = '';
    
        // A chunk of data has been recieved.
        resp.on('data', (chunk) => {
            data += chunk;
        });
    
        // The whole response has been received. Print out the result.
        resp.on('end', () => {
            return callback(data);
           // console.log(JSON.stringify(data));
        });
    
        }).on("error", (err) => {
    
        console.log("Error: " + err.message);
        });
    }
    
    module.exports.callApi = callExternalApiUsingHttp;
    
        const request = require('request');
    
    _EXTERNAL_URL = 'https://api.mosmarts.com/truck/v0/api.php';
    
    const callExternalApiUsingRequest = (callback) => {
        request(_EXTERNAL_URL, { json: true }, (err, res, body) => {
        if (err) {
            return callback(err);
         }
        return callback(body);
        });
    }
    
    module.exports.callApi = callExternalApiUsingRequest;
    
    NodeJsCall.js

    const apiCallFromRequest = require('./Request')
    const apiCallFromNode = require('./NodeJsCall')
    
    const http = require('http')
    
    http.createServer((req, res) => {
            if(req.url === "/request"){
                apiCallFromRequest.callApi(function(response){
                    //console.log(JSON.stringify(response));
                    res.write(JSON.stringify(response));
                    res.end();
                });
            }
            else if(req.url === "/node"){
                apiCallFromNode.callApi(function(response){
                    res.write(response);
                    res.end();
                });
            }
            
            // res.end();
    }).listen(3000);
    
    console.log("service running on 3000 port....");
    
    const https = require('https');
    
    _EXTERNAL_URL = 'https://api.mosmarts.com/truck/v0/api.php';
    
    
    const callExternalApiUsingHttp = (callback) => {
        https.get(_EXTERNAL_URL, (resp) => {
        let data = '';
    
        // A chunk of data has been recieved.
        resp.on('data', (chunk) => {
            data += chunk;
        });
    
        // The whole response has been received. Print out the result.
        resp.on('end', () => {
            return callback(data);
           // console.log(JSON.stringify(data));
        });
    
        }).on("error", (err) => {
    
        console.log("Error: " + err.message);
        });
    }
    
    module.exports.callApi = callExternalApiUsingHttp;
    
        const request = require('request');
    
    _EXTERNAL_URL = 'https://api.mosmarts.com/truck/v0/api.php';
    
    const callExternalApiUsingRequest = (callback) => {
        request(_EXTERNAL_URL, { json: true }, (err, res, body) => {
        if (err) {
            return callback(err);
         }
        return callback(body);
        });
    }
    
    module.exports.callApi = callExternalApiUsingRequest;
    
    Request.js

    const apiCallFromRequest = require('./Request')
    const apiCallFromNode = require('./NodeJsCall')
    
    const http = require('http')
    
    http.createServer((req, res) => {
            if(req.url === "/request"){
                apiCallFromRequest.callApi(function(response){
                    //console.log(JSON.stringify(response));
                    res.write(JSON.stringify(response));
                    res.end();
                });
            }
            else if(req.url === "/node"){
                apiCallFromNode.callApi(function(response){
                    res.write(response);
                    res.end();
                });
            }
            
            // res.end();
    }).listen(3000);
    
    console.log("service running on 3000 port....");
    
    const https = require('https');
    
    _EXTERNAL_URL = 'https://api.mosmarts.com/truck/v0/api.php';
    
    
    const callExternalApiUsingHttp = (callback) => {
        https.get(_EXTERNAL_URL, (resp) => {
        let data = '';
    
        // A chunk of data has been recieved.
        resp.on('data', (chunk) => {
            data += chunk;
        });
    
        // The whole response has been received. Print out the result.
        resp.on('end', () => {
            return callback(data);
           // console.log(JSON.stringify(data));
        });
    
        }).on("error", (err) => {
    
        console.log("Error: " + err.message);
        });
    }
    
    module.exports.callApi = callExternalApiUsingHttp;
    
        const request = require('request');
    
    _EXTERNAL_URL = 'https://api.mosmarts.com/truck/v0/api.php';
    
    const callExternalApiUsingRequest = (callback) => {
        request(_EXTERNAL_URL, { json: true }, (err, res, body) => {
        if (err) {
            return callback(err);
         }
        return callback(body);
        });
    }
    
    module.exports.callApi = callExternalApiUsingRequest;
    

    嘿,杰拉尔德,你可以在谷歌上找到这类问题的简单答案

    如果你是一个真正的初学者,我会向你推荐Axios npm。 下面是一个使用axios的非常简单的GET请求示例

    axios.get('https://api.github.com/users/mapbox')
    。然后(响应=>{
    console.log(response.data.created_at);
    });