Лучшие практики для создания REST API с использованием node.js - PullRequest
0 голосов
/ 10 июля 2019

Я из .Net и C # фона и я новичок в Node.js. Я работаю над проектом, который представляет собой смесь MongoDB и Node.JS.

В MongoDB данные от различных инструментов хранятся в разных коллекциях. Мне нужно создать несколько API REST, используя Node.JS для операции CRUD с этими данными, эти API будут вызываться из приложения React.JS.

Я хочу сохранить API-интерфейсы в отдельных файлах для отдельного инструмента, а затем вызвать все файлы в файле app.js.

Пожалуйста, помогите мне с наилучшим подходом.

Для целей POC я создал приложение node.js, где создал файл app.js и написал весь свой код для API GET | POST | DELETE. Это работает нормально.

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 Ответ

1 голос
/ 10 июля 2019

Не знаю точно, что собирается делать ваше приложение, но обычно, если вы не обслуживаете веб-страницы и ваш API не слишком сложен, нет необходимости использовать Express.Вы можете встроить простой сервер в NodeJS для обслуживания данных.

Кроме того, если в вашем приложении много маршрутов (или, скорее всего, в будущем), рекомендуется поместить вспомогательные функции, такие как GetQueryToExecuteInDatabase ()в отдельном файле за пределами app.js, например utils.js.

Исходя из того, что я понял относительно того, что вы хотите сделать, ваша файловая структура должна выглядеть примерно так:

  • данные (файлы, связанные с БД)
  • сервисов (содержит по одному файлу на сервис API)
  • app.js
  • utils.js

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...