Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

C# Record classes don't generate optional constructor parameters for non-required properties #1664

Open
adamjones2 opened this issue Jan 11, 2024 · 0 comments

Comments

@adamjones2
Copy link

adamjones2 commented Jan 11, 2024

Eg. a request body schema of:

{
  "required": [ "inputDate" ],
  "type": "object",
  "properties": {
    "inputDate": { "type": "string", "format": "date" },
    "ids": {
      "type": "array",
      "items": { "type": "string" },
      "nullable": true
    }
  },
  "additionalProperties": false
}

will render, if classStyle is set to Record and generateNullableReferenceTypes is true, a constructor like:

public MyType(DateOnly inputDate, string[]? ids)
{
    ...
}

The ids parameter is correct to be nullable, but it should not be required for the caller to provide the value given that it's marked as non-required in the spec. The parameter should be string[]? ids = null.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant