diff --git a/lib/utils/spec-manager.ts b/lib/utils/spec-manager.ts index 6a399da4..055130d7 100644 --- a/lib/utils/spec-manager.ts +++ b/lib/utils/spec-manager.ts @@ -163,6 +163,12 @@ export class SpecManager { let operationParamsPtr = JsonPointer.join(operationPtr, ['parameters']); let operationParams:SwaggerParameter[] = this.byPointer(operationParamsPtr) || []; + + const operationParamNames = {}; + operationParams.forEach(param => operationParamNames[param.name] = true); + + // filter out path params overriden by operation ones with the same name + pathParams = pathParams.filter(pathParam => !operationParamNames[pathParam.name]); pathParams = injectPointers(pathParams, pathParamsPtr); operationParams = injectPointers(operationParams, operationParamsPtr);