Javascript 我可以在1个路由文件中组合API/values和API/values/:id吗?

Javascript 我可以在1个路由文件中组合API/values和API/values/:id吗?,javascript,json,node.js,express,Javascript,Json,Node.js,Express,我有以下代码: var express = require('express'); var router = express.Router(); var db = require('../helpers/db'); var data = { "word": 1, "word2": 2, "word3": 3 } router.get('/', function(req, res, next) { res.send(data); }); module.ex

我有以下代码:

var express = require('express');
var router = express.Router();
var db = require('../helpers/db');

var data = {
    "word": 1,
    "word2": 2,
    "word3": 3
}

router.get('/', function(req, res, next) {
    res.send(data);
});



module.exports = router;
但是,每当我访问URL API/values时,我都会收到JSON格式的数据,我想添加访问API/values/1的功能,并且只获取数据变量的第一行。我需要添加第二个路由器吗?像这样吗

var express = require('express');
    var router = express.Router();
    var db = require('../helpers/db');

    var data = {
        "word": 1,
        "word2": 2,
        "word3": 3
    }

    router.get('/', function(req, res, next) {
        res.send(data);
    });

    router.get('/:id', function(req, res, next) {
        res.send(data);
    });



    module.exports = router;

我怎样才能只打印JSON变量的第一行而不是全部3行呢?

您可以这样做:

var express = require('express');
var router = express.Router();
var db = require('../helpers/db');

var data = {
    "word1": 1,
    "word2": 2,
    "word3": 3
}

router.get('/', function(req, res, next) {
    res.send(data);
});

router.get('/:id', function(req, res, next) {
    var key = 'word' + req.params.id;
    res.send({ [key]: data[key] });
});

module.exports = router;
但是我会考虑把你的数据结构变成更明智的东西。或许以下是一个良好的开端:

var data = [
  { word: "1" },
  { word: "2" },
  { word: "3" }
];