Route Configuration
Route Parameters
// server/routes/news/details.js
module.exports = {
_config: {
params: "id", // /news/details/:id
params: ["slug", "id"], // /news/details/:slug/:id
},
get: function (req, res, next) {
// get news from db
res.render('news/details');
},
};
Route Middlewares
// server/routes/news/details.js
module.exports = {
_config: {
params: ["slug", "id"], // /news/details/:slug/:id
middleware: 'news/isAllowed view_news', // route specific, array for multiple
},
get: function (req, res, next) {
// get news from db
res.render('news/details');
},
};
Method specific Middlewares
// server/routes/news/details.js
module.exports = {
_config: {
params: ["slug", "id"], // /news/details/:slug/:id
middleware: {
all: 'news/isAllowed view_news',
get: ['news/getTopNews', 'news/getPopularNews'],
post: ['news/isAllowedToComment'],
}
},
get: (req, res, next) => {},
post: (req, res, next) => {},
};
Override route url
// server/routes/news/details.js
module.exports = {
_config: {
params: 'id', // params will not work if url is present
url: "/news/:newsId/comment/:commentId", // provide full url with params
},
get: function (req, res, next) {
// get news from db
res.render('news/details');
},
};