OpenAPITools / OpenAPITools/openapi-generator

[BUG][CSHARP][generichost] Support equatable option for all vars for generichost

Open
#21,646 0 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

Bug Report Checklist
  • Have you provided a full/minimal spec to reproduce the issue?
  • Have you validated the input using an OpenAPI validator?
  • 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 using the now default generichost generator for csharp, if you set equatable to true, it has no effect on output. The .Equals and .GetHashCode methods are not overridden.

openapi-generator version

7.0.14

OpenAPI declaration file content or url

The generated samples show this behavior.

See config here.
See sample here.

Steps to reproduce

You can generate samples on master in whichever environment you work on.

Related issues/PRs

https://github.com/OpenAPITools/openapi-generator/pull/16106

Suggest a fix

I can take a look into this one. Seems to have to do with the dependency on readOnlyVars.

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 reviewing bin/configs/csharp-generichost-net9.yaml and the generated sample in samples/client/petstore/csharp/generichost/net9/Petstore, then reproduce the output with equatable=true. Trace how the generichost generator handles readOnlyVars and compare the generated models with the expected Equals and GetHashCode behavior. Done means the option affects all relevant variables in the generated C# models.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, openapi
Domain
tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.