OpenAPITools / OpenAPITools/openapi-generator
[BUG][Java][serializableModel] Generated inner-`enum` lack `implements Serializable`
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?
- 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
Inner enums lack implements Serializable, while outer/standalone does not.
Discovered here: https://github.com/Chrimle/openapi-to-java-records-mustache-templates/issues/578
Same root cause as #23083
openapi-generator version
7.20.0
OpenAPI declaration file content or url
components:
schemas:
ExampleWithInnerEnums:
type: object
description: Example with inner enum class
properties:
exampleInner:
type: string
description: Example of an inner enum class
enum:
- ENUM1
- ENUM2
- ENUM3
Generates:
@JsonAdapter(ExampleInnerEnum.Adapter.class)
public enum ExampleInnerEnum {
But should be:
@JsonAdapter(ExampleInnerEnum.Adapter.class)
public enum ExampleInnerEnum implements Serializable {
Generation Details
Library: java
serializableModel: true
Steps to reproduce
Related issues/PRs
- #23083
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
Start by reproducing Java generation with the supplied schema and the serializableModel option, then inspect where outer and inner enum declarations are produced. Confirm that the generated inner enum implements Serializable as expected, while preserving the existing adapter and model output.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- devtools
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 45/100