1

我有一个需要实现的 REST API 层。好消息是该层定义良好,因此使用 JSON 数据集并将其转换为相应的 API 文档很容易使用把手或 Mustache,但是,我还需要生成实际的处理程序并使用 expressjs 注册处理程序。

是的,我知道这对客户端代码不利。

这是 100% 正确的,但证明了挑战

var tmpl = "app.get({{path}}, function(req, res) { ... and some work ...} )";
var all_path = [{path:'/hello',body:"function(msg) {return pub(msg);}"},{path:'/world'},];
for(var i=all_path.length()-1; i>=0; i--) {
    task = mustache.Render(tmpl, all_path[i]);
    eval(task);
}
4

1 回答 1

1

如果... and some work ...每个都基本相同,只是path值不同,您可以使用另一个函数来完成此操作:

function addGenericGetHandler(path) {
    app.get(path, function (req, res) {
        // ... and some work ...
    });
}

[ '/hello', '/world' ].forEach(addGenericGetHandler);
于 2013-02-21T21:19:09.057 回答