microsoft / microsoft/typespec
[Bug]: @typespec/openapi3 Nullable union expression generates invalid openapi3
- Dominant language
- Java
- Stars
- 5.9k
- Forks
- 394
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 104
Description
### Describe the bug
When generating properties with union expression types, and when those types include `null`, the emitter generates a property with a schema including `anyOf` and `nullable`. From the spec ([v3.0](https://swagger.io/specification/v3/)), it seems that nullable is only meant to be used when `type` is explicitly defined. And this is causing validation on our emitted spec to fail.
### Reproduction
This [playground ](https://typespec.io/playground/?e=%40typespec%2Fopenapi3&c=DQptb2RlbCBGb28gew0KICBiYXI6IHN0cmluZyB8IGludDMyIHwgbnVsbDsNCn0%3D&options=%7B%22options%22%3A%7B%22%40typespec%2Fopenapi3%22%3A%7B%22openapi-versions%22%3A%5B%223.0.0%22%5D%7D%7D%7D&vs=%7B%7D) repros the issue.
### Checklist
- [x] Follow our [Code of Conduct](https://github.com/microsoft/typespec/blob/main/CODE_OF_CONDUCT.md)
- [x] Check that there isn't already an issue that request the same bug to avoid creating a duplicate.
- [x] Check that this is a concrete bug. For Q&A open a [GitHub Discussion](https://github.com/Microsoft/typespec/discussions).
- [x] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug.
Contributor guide
Assessment
This issue has not been assessed yet.