var express = require('express'); var router = express.Router(); var playlists = [ { id: 1, title: 'Rock', songs: [4,5,6,7] }, { id: 2, title: 'Pop', songs: [1,2,3] }, { id: 3, title: 'Jazz', songs: [8,9,10,11,12] } ]; router.get('/', function (req, res) { res.json(playlists); }); router.param('id', function (req, res, next, id) { var item = playlists.filter(function (item) { return item.id == id; }); req.playlistItem = item.length ? item[0] : null; next(); }); router.route('/:id') .get(function (req, res, next) { return req.playlistItem ? res.json(req.playlistItem) : next(); }) .post(function (req, res) { // create item }) .put(function (req, res) { // update item }) .delete(function (req, res) { // delete item }); // handle "/api/playlists/1/songs/" as well router.use('/:id/songs', require('./songs')); module.exports = router;