fix: fix reading url path as parameters

This commit is contained in:
Anselm Stordeur
2019-01-22 11:52:04 +01:00
committed by Rainer Killinger
parent 30082f8726
commit 9b889c8736

View File

@@ -48,14 +48,14 @@ export function createRoute<RETURNTYPE>(
// get route parameters (path parameters)
if (Array.isArray(routeClass.obligatoryParameters) && routeClass.obligatoryParameters.length > 0) {
routeClass.obligatoryParameters.forEach((parameterName) => {
router.param(parameterName, async (_req, _res, next, _parameterValue: string) => {
router.param(parameterName, async (req, _res, next, parameterValue: string) => {
// if (typeof req.params === 'undefined') {
// req.params = {};
// }
if (typeof req.params === 'undefined') {
req.params = {};
}
// set parameter values on request object
// req.params[parameterName] = parameterValue;
req.params[parameterName] = parameterValue;
// hand over the request to the next handler (our method route handler)
next();
});
@@ -87,18 +87,8 @@ export function createRoute<RETURNTYPE>(
return;
}
const params: { [parameterName: string]: string } = {};
if (Array.isArray(routeClass.obligatoryParameters) && routeClass.obligatoryParameters) {
// copy over parameter values from request object
// the parameter values were set in the parameter handler of the route
routeClass.obligatoryParameters.forEach((parameterName) => {
params[parameterName] = req.params[parameterName];
});
}
// hand over request to handler with path parameters
const response = await handler(req.body, req.app, params);
const response = await handler(req.body, req.app, req.params);
// validate response generated by handler
const responseValidation = validator.validate(response, routeClass.responseBodyName);