Skip to content

[BUG][JAVA] Error in generation of defaults for arrays for specific number types #14690

@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)
Description

When an array of default items is specified for a number, the type is infered to BigDecimal but not for the default values.

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:
                  type: array
                  items:
                    type: number
                  default:
                    - 0.25
                    - 48
      responses:
        '200':
          description: Ok
Generation Details

openapi-generator-cli generate -i bigdecimal-issue.yaml -g java -o bd-issue

results in TestPostRequest.java

with line 69 being:

this.test = new ArrayList<>(Arrays.asList(0.25, 48));

instead of:

this.test = new ArrayList<>(Arrays.asList(new BigDecimal("0.25"), new BigDecimal("48"));
Steps to reproduce

see above

Related issues/PRs

regression since 6.3.0 (probably since #14130 was merged)

Suggest a fix

See linked PR #14694

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