Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Parameter enhancement in PathItem #639

Merged
merged 1 commit into from
Jul 25, 2018

Conversation

jmini
Copy link
Member

@jmini jmini commented Jul 24, 2018

PR checklist

  • Read the contribution guidelines.
  • Ran the shell script under ./bin/ to update Petstore sample so that CIs can verify the change. (For instance, only need to run ./bin/{LANG}-petstore.sh and ./bin/security/{LANG}-petstore.sh if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in .\bin\windows\.
  • Filed the PR against the correct branch: master, 3.2.x, 4.0.x. Default: master.
  • Copied the technical committee: @OpenAPITools/generator-core-team

Description of the PR

Fixes #630.

The problem was that PathItem parameters were only added to Operation parameter only if operation.getParameters() != null. This condition is wrong. I have removed it.

I have also used operation.addParametersItem(parameter); instead of operation.getParameters().add(parameter); because the first version also works when the parameters list in operation is null.

@jmini
Copy link
Member Author

jmini commented Jul 25, 2018

Some more input about my new Unit Tests:

In my new Unit-Test:

openAPI.getPaths().addPathItem("path1/", new PathItem().get(new Operation().operationId("op1").responses(new ApiResponses().addApiResponse("201", new ApiResponse().description("OK")))));
openAPI.getPaths().addPathItem("path2/", new PathItem().get(new Operation().operationId("op2").addParametersItem(new QueryParameter().name("p1").schema(new StringSchema())).responses(new ApiResponses().addApiResponse("201", new ApiResponse().description("OK")))));
openAPI.getPaths().addPathItem("path3/", new PathItem().addParametersItem(new QueryParameter().name("p1").schema(new StringSchema())).get(new Operation().operationId("op3").addParametersItem(new QueryParameter().name("p2").schema(new IntegerSchema())).responses(new ApiResponses().addApiResponse("201", new ApiResponse().description("OK")))));
openAPI.getPaths().addPathItem("path4/", new PathItem().addParametersItem(new QueryParameter().name("p1").schema(new StringSchema())).get(new Operation().operationId("op4").responses(new ApiResponses().addApiResponse("201", new ApiResponse().description("OK")))));

Cases "path1/", "path2/" and "path3/".
Already work before my change.

And cases "path4/" is specifically for the reported issue: you want still to add the parameter coming from the path to the operation, even if operation.getParameters() is null.

@jmini jmini merged commit 85f0909 into OpenAPITools:master Jul 25, 2018
@jmini jmini deleted the issue630_fix_param_in_pathItem branch July 25, 2018 10:27
@wing328 wing328 changed the title Fix parameter in PathItem Parameter enhancement in PathItem Jul 25, 2018
A-Joshi pushed a commit to ihsmarkitoss/openapi-generator that referenced this pull request Feb 27, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants