OpenAPITools / OpenAPITools/openapi-generator

[BUG] OneOf problem

Open
#15,867 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Issue: Bug
Dominant language
Java
Stars
26.8k
Forks
7.7k
PR merge metrics
PR metrics pending

Description

Please see this branch which illustrates the problem. https://github.com/devhl-labs/openapi-generator/tree/one-of-issue

The issue is that oneOf options are treated inconsistently.

public BillingInvoiceCustomer(CustomerId? customerId, string customerId, string name)

Here you can see one of the oneOf options is being wrapped in it's own class of CustomerId. But then the other option is not wrapped in it's own class. I would expect it to be more like this

public BillingInvoiceCustomer(CustomerId customerId)
public BillingInvoiceCustomer(CustomerDetails customerDetails)

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 with the linked one-of-issue branch and reproduce the generated C# BillingInvoiceCustomer constructors shown in the report. Compare how the CustomerId and CustomerDetails oneOf options are represented; done when both options are handled consistently as separate wrapper types or constructor parameters, with the relevant generator coverage identified.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, java
Domain
tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.