Created by: jmini
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.