Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • O openapi-generator
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 3,476
    • Issues 3,476
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 402
    • Merge requests 402
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • OpenAPI Tools
  • openapi-generator
  • Issues
  • #9282
Closed
Open
Issue created Apr 16, 2021 by Administrator@rootContributor1 of 6 checklist items completed1/6 checklist items

[BUG] ModelUtils.getAdditionalProperties returns ObjectSchema for "true"

Created by: padamstx

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

If a schema contains additionalProperties: true, that is supposed to be equivalent to additionalProperties: {}, which implies that arbitrary properties of ANY type (string, integer, object, etc.) may be added to the object/class/struct that is generated for that schema. However, ModelUtils.getAdditionalProperties() will return an instance of ObjectSchema in this case rather than an instance of Schema. This would be equivalent to a schema with this value for the additionalProperties field:

  additionalProperties:
    type: object

This would imply that arbitrary properties added to the object/class/struct for that schema should be an "object" (i.e. Map<String,Object> in Java, map[string]interface{} in Go, etc.).

openapi-generator version

This was observed in an old version of the project (3.3.3) and is still present in the latest from the master branch.

OpenAPI declaration file content or url
Generation Details
Steps to reproduce
Related issues/PRs
Suggest a fix

Modify ModelUtils.getAdditionalProperties() so that it returns an instance of Schema instead of ObjectSchema in the scenario where additionalProperties: true is detected.

Assignee
Assign to
Time tracking