簡體   English   中英

node.js / Express / MongoDB RESTfull API的最佳設計是什么

[英]What is the best design for node.js / Express / MongoDB RESTfull APIs

我正在使用node.js / Express 3 / Mongoose / MongoDB構建一些Web服務。 我通常會看到人們將代碼從server.js轉移到外部文件的兩種方式,我想知道主要的區別是什么,如果一種方法比另一種更好? 我在下面概述了兩種技術。 我傾向於使用方法2,但是我發現require('./routes/cats')(app, CatModel); 沒有var =之前看起來就不正確。

  1. 按功能。 路由是在server.js中內聯構建的,但是邏輯已移至外部文件。

有些人似乎這樣做:

// server.js

app.get('/cats', cats.findAll);

// route / cats.js

exports.findAll = function(req, res) {
    // Lookup all the cats in MongoDB / CatModel.
};
  1. 通過應用程序。 傳入應用程序,並在其頂部構建路由。

//在server.js中

require('./routes/cats')(app, CatModel);

//在route / cats.js中

module.exports = function(app, CatModel) {
    app.get('/cats', function (req, res) {
        CatModel.find({}, function (err, docs) {
            if (err || !docs) {
                res.json(kStatusInternalServerError, {error: err});
                console.log(err);
            } else {
                res.json(kStatusOk, docs);
            }
        });
    });
};

默認方式是第一種-這就是我們大多數人使用它的原因。 我更喜歡在app.js中很好地排列所有路線,以及在其他地方實際發生的所有事情。 我還沒有看到生產中的第二種方式,也沒有看到將邏輯與邏輯結合在一起的優勢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM