Validation Error: schema[parameter].validateAsync is not a function
Validation Error: schema[parameter].validateAsync is not a function
我正在尝试在 express 中创建一个 API。当我调用相同的方法时,出现上述错误。
我浏览了下面的 GitHub 链接,其中包含类似问题的解决方案,但其中 none 对我有用。下面是我的代码
API:
http://localhost:4040/v1/trips/get-all-filtered?offset=0&limit=10&from=2021-01-28T00:00:00.175Z&to=2021-02-04T00:00:00.175Z&technicians=0faaa22e-d672-44f5-a30a-3b2e5298a967&status=trip_ended
架构: (trip.validator.js)
const Joi = require('joi');
getAllFiltered: {
query: Joi.object({
offset: Joi.string(),
limit: Joi.string(),
from: Joi.string(),
to: Joi.string(),
technicians: Joi.array().items(Joi.string()),
status: Joi.string(),
enterprise_id: Joi.string(),
payment_status: Joi.string().valid('pending', 'invoiced', 'paid')
})
}
路线: (trips.route.js)
let router = require('express').Router();
const { validate } = require('express-validation');
const tripValidation = require('../validators/trip.validator');
const tripController = require('../controllers/trip.controller');
const AuthMiddleware = require('../middlewares/auth.middleware')
router.get('/get-all-filtered',
[
AuthMiddleware.isAuthorized,
validate(tripValidation.getAllFiltered)
],
(req, res) => {
tripController.getAllFiltered(req, res)
}
)
链接:
所以,我想出了问题所在。由于某种原因,API 端点与另一个端点发生冲突。我刚刚将 API 路线从底部移动到顶部,这似乎解决了问题。
我正在尝试在 express 中创建一个 API。当我调用相同的方法时,出现上述错误。 我浏览了下面的 GitHub 链接,其中包含类似问题的解决方案,但其中 none 对我有用。下面是我的代码
API:
http://localhost:4040/v1/trips/get-all-filtered?offset=0&limit=10&from=2021-01-28T00:00:00.175Z&to=2021-02-04T00:00:00.175Z&technicians=0faaa22e-d672-44f5-a30a-3b2e5298a967&status=trip_ended
架构: (trip.validator.js)
const Joi = require('joi');
getAllFiltered: {
query: Joi.object({
offset: Joi.string(),
limit: Joi.string(),
from: Joi.string(),
to: Joi.string(),
technicians: Joi.array().items(Joi.string()),
status: Joi.string(),
enterprise_id: Joi.string(),
payment_status: Joi.string().valid('pending', 'invoiced', 'paid')
})
}
路线: (trips.route.js)
let router = require('express').Router();
const { validate } = require('express-validation');
const tripValidation = require('../validators/trip.validator');
const tripController = require('../controllers/trip.controller');
const AuthMiddleware = require('../middlewares/auth.middleware')
router.get('/get-all-filtered',
[
AuthMiddleware.isAuthorized,
validate(tripValidation.getAllFiltered)
],
(req, res) => {
tripController.getAllFiltered(req, res)
}
)
链接:
所以,我想出了问题所在。由于某种原因,API 端点与另一个端点发生冲突。我刚刚将 API 路线从底部移动到顶部,这似乎解决了问题。