OpenAPITools / OpenAPITools/openapi-generator
[BUG][Java][okhttp-gson] Import mapping for base class not replacing discriminator fields
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 26.8k
- Forks
- 7.7k
- PR merge metrics
- PR metrics pending
Description
Bug Report Checklist
- [/] Have you provided a full/minimal spec to reproduce the issue?
- [/] Have you validated the input using an OpenAPI validator (example)?
- [] Have you tested with the latest master to confirm the issue still exists?
- [/] Have you searched for related issues/PRs?
- [/] What's the actual output vs expected output?
- [/] [Optional] Sponsorship to speed up the bug fix or feature request (example)
Description
Hi, I see some divergence how the model is created between two different libraries.
For example I have specified in the yaml
schemas:
BaseRequest:
discriminator:
propertyName: "no"
type: object
FirsRequest:
allOf:
- $ref: '#/components/schemas/BaseRequest'
And I also in the generator in the pom file I specified importMapping:
<importMapping>BaseRequest=my.other.BaseRequest</importMapping>
So in the swagger-codegen or v 3.3.4 when I had import mapping for the parent class that had the discriminator field specified,
in the final model object FirsRequest I was extending my.other.BaseRequest and the discriminator field was not included in the FirstRequest what I expected. But now in v5.4.0 I have the "no" field in the constructor but no field declaration.
I expect that if I have import mapping for the base class I want to extend it without additional fields...
openapi-generator version
5.4.0
OpenAPI declaration file content or url
Generation Details
Steps to reproduce
Related issues/PRs
Suggest a fix
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Use the inline OpenAPI schema and the pom.xml importMapping as the reproduction inputs for the Java okhttp-gson generator, comparing behavior between version 5.4.0 and the stated older versions. Inspect the generated FirstRequest model and verify that an imported BaseRequest is extended without a duplicate discriminator constructor field or missing declaration.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, openapi
- Domain
- api, devtools
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100