我正在使用nodejs / express。对于GET和POST http请求,我想为路由做同样的事情。
我这样做:
app.get('/', function(req, res) {
// Some code
});
app.post('/', function(req, res) {
// Same code
});
有没有办法在同一个回调中重构get和post?
由于
答案 0 :(得分:9)
这似乎是一个非常奇怪的要求。如果行为完全相同,只需指定一个函数来处理两者:
function myHandler(req, res) {
// Some code
}
app.get('/', myHandler);
app.post('/', myHandler);
答案 1 :(得分:4)
如果您的网站没有特别使用任何其他方法,您可以使用all
:
app.all('/', handler)
答案 2 :(得分:3)
一个有点老的问题,但今天仍然面临。
如果你想为所有具有相同处理程序的方法公开 api:
function sameHandler(req, res) {
// do something here
}
app.all('/', sameHandler);
如果只是想使用相同的路由但使用不同的处理程序:
function getHandler(req, res) {
// do something here
}
function postHandler(req, res) {
// do something here
}
function deleteHandler(req, res) {
// do something here
}
app.route('/').get(getHandler).post(postHandler).delete(deleteHandler);