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
  • #843
Closed
Open
Issue created Aug 18, 2018 by Jim Schubert@jimschubertContributor

Abstract away from OpenAPI via transformation.

Description

We have abstractions such as CodegenModel, CodegenOperation, CodegenProperty, etc. which represent abstractions away from OpenAPI for the sake of generation. This currently creates tight coupling between different versions of OpenAPI specifications and the underlying templating (examples: CodegenOperation#vendorExtensions, CodegenOperation#externalDocs)

Suggest a fix/enhancement

Create a representation of an API which is not tightly bound to OpenAPI specifications in general. Transform from OpenAPI specification to this data type via transform phase and inject this transform into the workflow (either DefaultGenerator or Executor (tbd #841).

This will unblock us to eventually allow configurable input specification parsers as well as configurable transforms (effectively opening us to code generation for all specification formats).

Assignee
Assign to
Time tracking