Skip to content

Commit

Permalink
Path parameters with underscore generates invalid classes
Browse files Browse the repository at this point in the history
Fixes #110
  • Loading branch information
Luis Fernando Planella Gonzalez committed Nov 1, 2018
1 parent 0c1d0f1 commit da6ec7d
Showing 1 changed file with 10 additions and 4 deletions.
14 changes: 10 additions & 4 deletions ng-swagger-gen.js
Original file line number Diff line number Diff line change
Expand Up @@ -832,9 +832,14 @@ function processResponses(def, path, models) {
* "/a/{var1}/b/{var2}/" returns "/a/${params.var1}/b/${params.var2}"
* if there is a parameters class, or "/a/${var1}/b/${var2}" otherwise.
*/
function toPathExpression(paramsClass, path) {
var repl = paramsClass == null ? '$${' : '$${params.';
return (path || '').replace(/\{/g, repl);
function toPathExpression(operationParameters, paramsClass, path) {
return (path || '').replace(/\{([^}]+)}/g, (_, pName) => {
const param = operationParameters.find(p => p.paramName === pName);
const paramName = param ? param.paramVar : pName;
return paramsClass ?
"${params." + paramName + "}" :
"${" + paramName + "}";
});
}

/**
Expand Down Expand Up @@ -1067,7 +1072,8 @@ function processServices(swagger, models, options) {
operationParamsClassComments: paramsClassComments,
operationMethod: method.toLocaleUpperCase(),
operationPath: url,
operationPathExpression: toPathExpression(paramsClass, url),
operationPathExpression:
toPathExpression(operationParameters, paramsClass, url),
operationResultType: resultType,
operationHttpResponseType: 'StrictHttpResponse<' + resultType + '>',
operationComments: toComments(docString, 1),
Expand Down

0 comments on commit da6ec7d

Please sign in to comment.