Express, mulitple routes to same function

I am mimicking another api. I would also like to provide a different (better IMHO) api as well.

// this is url I need to support 
api.post('/books/updateBook', function(req, res) {
...
});

// Would also like to support
api.put('/books/:bookId', function(req, res) {
...
});

I could easily do:

var updateBook = function(req, res) {
...
}

// this is url I need to support 
api.post('/books/updateBook', updateBook);

// Would also like to support
api.put('/books/:bookId', updateBook);

Perfectly acceptable right? Being new to express I am wondering if there is a more 'express' way to handle this. I know you can use regex, but I am not sure you can map regex across different HTTP verbs (POST vs PUT).

Thoughts?

api.all('/books/:bookId', function (req, res, next) {
  if (req.method === 'PUT' || req.method === 'POST) {
    //get your groove on
  } else {
    next();
  }
});

You can combine verbs in express, you just use all and examine the method, if it matches, handle the request other wise pass it down the handler chain (with next();).

That being said I think you're doing it right, there's no reason route handlers need to be lamdas.