[kotlin-server][JAX-RS] Fix class names for useTags#23441
[kotlin-server][JAX-RS] Fix class names for useTags#23441feczkob wants to merge 2 commits intoOpenAPITools:masterfrom
Conversation
|
I used this repo for reproduction, thanks to @lbilger: https://github.com/lbilger/openapi-generator-path-shadowing-reproducer JAXRS-SPEC,
|
945ed35 to
7a365ce
Compare
lbilger
left a comment
There was a problem hiding this comment.
@feczkob I think I see more or less what you're doing here now. You want to align kotlin-server/jaxrs-spec with the "original" jaxrs-spec. If that is the main goal, the PR mostly achieves it as far as I can see. Only the docs should also state that the useTags parameter is only supported for this library, just like useMutiny already does.
This will however be a breaking change for everyone using this generator/library. Also, it deliberately excludes all the other libraries from using this parameter even though it would be no additional effort to support it for all libraries. So I suggest to at least consider making useTags=true the default, even though it is not completely in line with jaxrs-spec.
| Class | Method | HTTP request | Description | ||
| ------------ | ------------- | ------------- | ------------- | ||
| {{#apiInfo}}{{#apis}}{{#operations}}{{#operation}}*{{classname}}* | [**{{operationId}}**]({{apiDocPath}}{{classname}}.md#{{operationIdLowerCase}}) | **{{httpMethod}}** {{#useTags}}{{commonPath}}{{/useTags}}{{path}} | {{{summary}}} | ||
| {{#apiInfo}}{{#apis}}{{#operations}}{{#operation}}*{{classname}}* | [**{{operationId}}**]({{apiDocPath}}{{classname}}.md#{{operationIdLowerCase}}) | **{{httpMethod}}** {{commonPath}}{{path}} | {{{summary}}} |
There was a problem hiding this comment.
It seems operationIdLowerCase is not set in the useTags=false case - probably because the super method that sets it is never called.






Follow-up of #23379.
Fixes #23414
PR checklist
Commit all changed files.
This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master.
These must match the expectations made by your contribution.
You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example
./bin/generate-samples.sh bin/configs/java*.IMPORTANT: Do NOT purge/delete any folders/files (e.g. tests) when regenerating the samples as manually written tests may be removed.
master(upcoming7.x.0minor release - breaking changes with fallbacks),8.0.x(breaking changes without fallbacks)"fixes #123"present in the PR description)Summary by cubic
Fixes JAX-RS
kotlin-serverclass naming and@Pathgeneration whenuseTagsis false or omitted, and consistently applies class-level common paths across JAX-RS. Operations are grouped by the first path segment with a class-level base path and trimmed method paths.jaxrs-spec): whenuseTags=falseor missing, group operations by base path; fall back todefaultif the base path is empty or templated.commonPathfor all JAX-RS classes; set class-level@Pathto it (empty for root) and emit method@Pathonly for sub-resources.{{commonPath}}{{path}}; JAX-RS interface renders method@Pathonly when needed.Written for commit 7a365ce. Summary will update on new commits.