【问题标题】:Best Practice to create REST APIs using node.js使用 node.js 创建 REST API 的最佳实践
【发布时间】:2019-11-19 17:56:13
【问题描述】:

我来自 .Net 和 C# 背景,我是 Node.js 的新手。我正在做一个项目,它混合了 MongoDB 和 Node.JS。

在 MongoDB 中,来自各种工具的数据存储在不同的集合中。我必须使用 Node.JS 创建多个 REST API 来对这些数据进行 CRUD 操作,这些 API 将从 React.JS 应用程序调用。

我想将 API 保存在单独的文件中以供单独的工具使用,然后调用将所有文件包含到 app.js 文件中。

请帮助我找到最好的方法。

出于 POC 目的,我创建了一个 node.js 应用程序,在其中创建了 app.js 文件并为 GET|POST|DELETE API 编写了所有代码。这工作正常。

var _expressPackage = require("express");  
var _bodyParserPackage = require("body-parser");  
var _sqlPackage = require("mssql");  
var app = _expressPackage();  
var cors = require("cors");
var auth = require('basic-auth');
var fs = require('fs');
const nodeMailer = require('nodemailer'); 


//Lets set up our local server now.  
var server = app.listen(process.env.PORT || 4000, function () {  
    var port = server.address().port;  
    console.log("App now running on port", port);  
});  
app.get("/StudentList", function(_req ,_res){  
    console.log("Inside StudentList");
    var Sqlquery = "select * from tbl_Host where HostId='1'";    
    GetQueryToExecuteInDatabase(_req,_res, Sqlquery,function(err,data){       
        console.log(data);
    });
});

【问题讨论】:

    标签: node.js mongodb rest express


    【解决方案1】:

    不清楚您的应用打算做什么,但通常如果您不提供网页服务并且您的 API 不太复杂,则无需使用 express。您可以在 NodeJS 中本地构建一个简单的服务器来提供数据。

    此外,如果您的应用有很多路由(或将来可能会),最好将 GetQueryToExecuteInDatabase() 等辅助函数放在 app.js 之外的单独文件中,例如 utils.js。

    根据我对您想要做什么的了解,您的文件结构应该如下所示:

    • 数据(数据库相关文件)
    • 服务(每个 api 服务包含一个文件)
    • app.js
    • utils.js

    希望这会有所帮助。

    【讨论】:

    • 在我的应用程序中,从 2-3 个监控工具中获取预定数据到 mongoDB。现在我想创建 API 来公开保存到 MongoDB 中的数据。这些 API 将由不同团队的 React 应用程序使用。我想将 API 及其逻辑保存在单独的文件中以供单独的工具使用。
    猜你喜欢
    • 2013-10-23
    • 1970-01-01
    • 2020-05-29
    • 1970-01-01
    • 1970-01-01
    • 2018-04-27
    • 2018-05-25
    • 2020-04-23
    相关资源
    最近更新 更多