microsoft / microsoft/typespec

[Bug]: @typespec/openapi3 Nullable union expression generates invalid openapi3

Open
#8,661 3 comments 0 reactions 0 assignees View on GitHub
bug emitter:openapi3 triaged:core
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.

Image

### 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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.