Skip to content

[BUG] default values for references enums are not generated correctly #14689

@robbertvanwaveren

Description

@robbertvanwaveren

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)

Seen this bug in Java client generation but I think its broken for multiple languages.

Description

properties that set a default but references an enum type using allOf results in incompilable java client code.

openapi-generator version

regression since 6.3.0 (probably since #14130 was merged)

OpenAPI declaration file content or url
openapi: 3.0.2
info:
  title: Bug
  version: 0.0.1
paths:
  /test:
    post:
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                test:
                  allOf:
                    - $ref: '#/components/schemas/TestEnum'
                  default: Bar
      responses:
        '200':
          description: Ok
components:
  schemas:
    TestEnum:
      enum:
        - Foo
        - Bar
      type: string
Generation Details

openapi-generator-cli generate -i default-for-referenced-enum.yaml -g java -o enum-issue

results in TestPostRequest.java with line 54 being:

private TestEnum test = Bar;

instead of

private TestEnum test = TestEnum.BAR;
Steps to reproduce

see Generation Details

Related issues/PRs

regression since 6.3.0 (probably since #14130 was merged)

Suggest a fix

See linked PR #14692

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions