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

[java-jaxrs] Fix paths when useTags=true is used #437

Merged
merged 4 commits into from
Jul 3, 2018

Conversation

jmini
Copy link
Member

@jmini jmini commented Jul 2, 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.1.x, 4.0.x. Default: master.
  • Copied the technical committee to review the pull request if your PR is targeting a particular programming language.

Java: @bbdouglas (2017/07) @JFCote (2017/08) @sreeshas (2017/08) @jfiala (2017/08) @lukoyanov (2017/09) @cbornet (2017/09) @jeff9finger (2018/01)

Description of the PR

Detected during test of #215.
When you use the useTags boolean option with the jaxrs-jersey generator, there is a problem with the paths.

Example spec: tags.yaml (added to this PR as test case)

Then the endpoints are:

http://localhost:8080/v2/Tag1/op1
http://localhost:8080/v2/Tag2/op2
http://localhost:8080/v2/Tag2/op3
http://localhost:8080/v2/Default/op4
http://localhost:8080/v2/Group4/op5
http://localhost:8080/v2/Group4/op6

They are driven by the tags (and tags name).

They should be as specified in the paths section:

http://localhost:8080/v2/group1/op1
http://localhost:8080/v2/group1/op2
http://localhost:8080/v2/group2/op3
http://localhost:8080/v2/group3/op4
http://localhost:8080/v2/group4/op5
http://localhost:8080/v2/group4/op6

This PR introduces a new variable accessible in the JaxRS templates: {{commonPath}}.
This is because the {{baseName}} when tags are used can not be used in the top level @Path annotation value.
{{commonPath}} contains the path common to all operations of the generated groups.

A unit test to ensure that nothing was changed cases where useTags is set to false (default behavior) is also added to the PR.

@jmini jmini added this to the 3.1.0 milestone Jul 2, 2018
@jmini jmini changed the title Fix paths with usetags [java-jaxrs] Fix paths when useTags=true is used Jul 2, 2018
Copy link
Member

@wing328 wing328 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The change and the updated samples look good to me (but I didn't test it locally due to time constraint)

@jmini jmini merged commit 3d64bd0 into OpenAPITools:master Jul 3, 2018
A-Joshi pushed a commit to ihsmarkitoss/openapi-generator that referenced this pull request Feb 27, 2019
* Add test case for the existing implementation
* Introduce {{commonPath}}
* Update samples
nilskuhn pushed a commit to nilskuhn/openapi-generator that referenced this pull request Apr 6, 2023
…est-2.x

chore(deps): update dependency type-fest to v2
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