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" }
];