高速路由器未按预期路由



在Ubuntu 20.04.2上运行NodeJS,使用带有调试器的VSApp

我有以下文件命名为/src/routes/regions.js:

const router = require('express').Router()
const { int } = require('neo4j-driver')
const { required, optional } = require('../middleware/auth')
const { check } = require('express-validator')
const validate = require('../middleware/validate')
const neo4j = require('../neo4j')
const Joi = require('joi');
const Region = require('../entities/Region')
router.get('/1', (req, res, next) => {
return req.neo4j.read(`
MATCH (regions:Region) 
return regions order by regions.name ASC
`, params)
.then(regions => res.send(regions))
.catch(e => next(e))
})
router.get('/', (req, res, next) => {
return req.neo4j.read(`
MATCH (regions:Region) 
return regions order by regions.name DESC
`, params)
.then(regions => res.send(regions))
.catch(e => next(e))
})
router.get('/:name', (req, res, next) => {
const params = {
name: req.params ? req.params.name : null
}
return req.neo4j.read(`
MATCH (region:Region { name: $name }) return region 
`, params)
.then(regions => res.send(regions))
.catch(e => next(e))
})
module.exports = router;

在浏览器中,如果我输入localhost:3000/regions,我将收到按降序排列的所有区域的列表。

但是如果我尝试输入localhost:3000/regions/1,我什么也没有收到。这两个调用之间的唯一区别应该是接收数据的顺序。localhost:3000/regions/Lazio

相同似乎无法识别所提供的URL

中的模式另一个非常奇怪的行为是,如果我在文件的任何一行设置了断点,调试器不会停止。看起来像是在运行另一个程序....

有人能帮忙吗?

你的第一个路由需要包含name参数。快速路由不包括其他地方定义的任何其他路由,所以您需要详细说明一下。

router.get('/:name/1', (req, res, next) => {

相关内容

  • 没有找到相关文章

最新更新