Node.js 使用express检查资源是否存在的最佳方法
假设您已经创建了有效资源列表Node.js 使用express检查资源是否存在的最佳方法,node.js,express,routes,Node.js,Express,Routes,假设您已经创建了有效资源列表 const resources = ["foo", "bar"]; 您的url路径是 router.get("/resource/:resourceID" ( req, res, next ) => { //code here res.send("something") } ); 检查资源是否有效的最佳方法是什么? 我是否对每个GET、POST、PUT和DELETE进行检查?这看起来很不整洁,当然有更好的方法。你可以使用中间件,在
const resources = ["foo", "bar"];
您的url路径是
router.get("/resource/:resourceID" ( req, res, next ) => {
//code here
res.send("something")
} );
检查资源是否有效的最佳方法是什么?
我是否对每个GET、POST、PUT和DELETE进行检查?这看起来很不整洁,当然有更好的方法。你可以使用中间件,在那里进行检查
app.param('resourceID', function (req, res, next, id) {
if (resources.indexOf(id) > -1) {
return next();
}
next(new Error('failed to load resource'));
});
您可以使用中间件并在那里进行检查,例如
app.param('resourceID', function (req, res, next, id) {
if (resources.indexOf(id) > -1) {
return next();
}
next(new Error('failed to load resource'));
});
您可以使用中间件并在那里进行检查,例如,
app.param('resourceID',checkResourceID)
@Mikey谢谢您将此添加为答案,我不知道这是否是最好的方法,但似乎比检查每个HTTP方法要好得多,除非有更好的答案,否则你也可以得到一个绿色的勾号。你可以使用中间件,然后在那里进行检查,例如,app.param('resourceID',checkResourceID)
@Mikey谢谢。作为回答,我不知道这是否是最好的方法,但似乎比检查每个HTTP方法都好,除非有更好的答案,否则你也可以得到一个绿色的勾号。我打算使用数组。一些但被选中,indexOf更快。我打算使用数组。一些但被选中,indexOf更快