-1

さまざまなユーザーがさまざまな記事を投稿できるようにする RESTful Web サービスが与えられた

サーバー側で関数を定義するには、サーバー側に 、 などの関数のようなGET非同期関数が必要だと思いますlistgetTopViewedgetTopFavorite

次は正しいですか?

exports.get = function(req, res) {

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

注:とはlist、別の JavaScript ファイルで定義されています。getTopViewedgetTopFavorite

別の JS ファイルでは:

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

1 に答える 1

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>);
});

Expressのルーターのドキュメントへのリンクは次のとおりです。アプリケーションルーティング

于 2012-11-12T20:17:14.123 に答える