OpenAPITools / OpenAPITools/openapi-generator

[REQ] Feature Request Description

Open
#19,709 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Enhancement: Feature
Dominant language
Java
Stars
26.8k
Forks
7.7k
PR merge metrics
PR metrics pending

Description

Is your feature request related to a problem? Please describe.

Generating C# code for valid open-api, with discriminators and allOf for polymorphic types, the code generated contains non-default ctor, which passes non-existed-parameters to the base ctor, which of course not compiles.

Describe the solution you'd like

I would like to have option to:

  • Option to not generate ctor at all.
  • Option to generate record in new C# instead of class.
  • Option to have POCO (no attributes, public get/set, properties, no methods, no ctors).

Describe alternatives you've considered

Manually remove all the ctors and attributes which are not required and not relevant.

Additional context

My open-api schema structure is hierarchy: C derives from B derives from A, etc. It uses allOf and discrimantor.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the C# generation case with an OpenAPI schema using allOf and discriminators, then inspect the C# generator's model and constructor handling. Clarify which of the requested options should be implemented and verify that the generated hierarchy compiles without invalid base-constructor arguments.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, openapi
Domain
api, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.