使用node.js创建REST API的最佳实践

时间:2019-07-10 07:00:39

标签: node.js mongodb rest express

我来自.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);
    });
});

1 个答案:

答案 0 :(得分:1)

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

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

根据我对要执行的操作的了解,您的文件结构应如下所示:

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

希望这会有所帮助。