这是一条简单的路线:
// get all users
app.get('/api/user/get-all', authenticated.yes, function(req, res) {
queryUsers.findAllUsers( function( users ){
res.json( users );
} );
});
Run Code Online (Sandbox Code Playgroud)
输出将是从"queryUsers.findAllUsers"函数返回的json.
这很好,但我想通过更严格的东西来路由我的所有json输出,因此输出将是:
res.json({
success: true,
payload: users
});
Run Code Online (Sandbox Code Playgroud)
这很容易手动完成,但这意味着我必须每次都写出来,这是很多打字.
是否可以向"res"对象添加新函数,以启用以下内容:
res.jsonSuccess( users );
Run Code Online (Sandbox Code Playgroud)
和:
res.jsonFail( users );
Run Code Online (Sandbox Code Playgroud)
哪个会输出
res.json({
success: true,
payload: users
});
Run Code Online (Sandbox Code Playgroud)
和:
res.json({
success: false,
payload: users
});
Run Code Online (Sandbox Code Playgroud)
分别.
正如loadaverage指出的那样,中间件就是你如何做到的.更具体一些:
app.use(function(req, res, next) {
res.jsonFail = function(users) {
return res.json({
success: false,
payload: users
})
};
res.jsonSuccess = function(users) {
return res.json({
success: true,
payload: users
});
};
next();
});
Run Code Online (Sandbox Code Playgroud)
然后这应该工作:
app.get("/my/route", function(req, res) {
return res.jsonSuccess(["you", "me"]);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1687 次 |
| 最近记录: |