2012-11-12 60 views
-1

RESTful Web服務給RESTful Web服務,它允許不同的用戶發佈不同的文章定義GET功能使用的NodeJS

有關服務器SIDEM 我想應該有像list異步函數定義GET功能,getTopViewed, getTopFavorite等功能在服務器端

是否正確呢?

exports.get = function(req, res) { 

    db.articles.list(function etc) 
    db.articles.getTopViewed(function etc) 
    db.articles.getTopFavorite(function etc) 
} 

注:這裏listgetTopViewedgetTopFavorite在另一個JavaScript定義文件

在另一個JS文件:

exports.list = function(callback){ 
    // acts as async callback 
    var result = ArticleModel.find({}, function(err, articles){ 
    callback(null, articles)              
    }); 
    return result; 
} 
+0

您需要提供更多的上下文。這些方法是同步的嗎?如果沒有,你需要像'async'模塊。你也需要在某個時候做出迴應。順便說一句,如果它工作通常是正確的。 –

+0

@IanKuca他們是異步 – bouncingHippo

回答

0

我建議使用類似ConnectExpress。它有一個路由器,使這更容易一些。安裝和使用是這個樣子:

var express = require("express"), 
    db = require('./yourdb.js'); 

var app = express.createServer(); 

app.configure(function(){ 
    app.use(app.router); 
}); 

app.get("/articles/", function(req, res){ 
    db.list(function(err, articles){ 
     res.writeHead(200); 
     // you probably want to do something more complex here 
     res.end(JSON.stringify(articles)); 
    }); 
}); 

app.get("/articles/top", function(req, res){ 
    // res.end(<top articles go here>); 
}); 

這裏的文檔爲快報路由器鏈接:Application Routing

+0

即時通訊使用貓鼬和快遞 – bouncingHippo

+0

我可以知道使用'export.get = function(req,res)'和使用'app.get(「/ articles/top」)之間的區別是什麼? ? – bouncingHippo

+0

'exports.get'將在名爲'get'的模塊中定義一個函數。當你使用'require'來包含另一個js文件時,你可以使用它。它是節點模塊系統的一部分 –