node express后端在url中获取带有参数的路由
node express backend get route with params in url
我正在尝试为 URL 中带有 params
的 get 路由创建一个控制器,它应该如下所示: localhost:3001/service/26
。其中 26
是 serviceID
。我正在使用 knex
查询数据库。当我在 Postman 中访问上面的 link 时,我在终端中收到一条错误消息,指出 serviceID
列无效。我将附上路由、控制器和存储库:
router.get("/service/:serviceID", serviceController.getService)
const getService = async (req, res) => {
try {
const data = await serviceRepository.getService(req.params.serviceID);
res.send(data);
} catch (error) {
throw error;
}
}
getService = async (serviceParameters) => {
const serviceID= serviceParameters.serviceID;
return await knex("service").select().where("serviceID", serviceID)
}
在 getService()
中,您试图访问输入的 serviceID
属性,但您将 string
作为输入传递。像这样更改 getService()
函数:
getService = async (serviceParameters) => {
const serviceID= serviceParameters;
return await knex("service").select().where("serviceID", serviceID)
}
我正在尝试为 URL 中带有 params
的 get 路由创建一个控制器,它应该如下所示: localhost:3001/service/26
。其中 26
是 serviceID
。我正在使用 knex
查询数据库。当我在 Postman 中访问上面的 link 时,我在终端中收到一条错误消息,指出 serviceID
列无效。我将附上路由、控制器和存储库:
router.get("/service/:serviceID", serviceController.getService)
const getService = async (req, res) => {
try {
const data = await serviceRepository.getService(req.params.serviceID);
res.send(data);
} catch (error) {
throw error;
}
}
getService = async (serviceParameters) => {
const serviceID= serviceParameters.serviceID;
return await knex("service").select().where("serviceID", serviceID)
}
在 getService()
中,您试图访问输入的 serviceID
属性,但您将 string
作为输入传递。像这样更改 getService()
函数:
getService = async (serviceParameters) => {
const serviceID= serviceParameters;
return await knex("service").select().where("serviceID", serviceID)
}