Skip to content

Declarative OpenAPI (27.x) - #12073

Merged
tomas-langer merged 6 commits into
helidon-io:mainfrom
tomas-langer:10729-declarative-openapi
Sep 3, 2026
Merged

Declarative OpenAPI (27.x)#12073
tomas-langer merged 6 commits into
helidon-io:mainfrom
tomas-langer:10729-declarative-openapi

Conversation

@tomas-langer

@tomas-langer tomas-langer commented Jun 4, 2026

Copy link
Copy Markdown
Member

Resolves #10729

Adds declarative OpenAPI generation and mapping support, including annotation-derived operations, request and response inputs, OpenAPI version rendering, docs, and regression coverage.

Design note: The io.helidon.openapi.v30 package intentionally owns mapping infrastructure shared by OpenAPI 3.x implementations. This keeps 3.x common code in a version-family-specific package so a future OpenAPI 4.x implementation can place its common code in a separate 4.x-specific package, rather than mixing both families in io.helidon.openapi.

@tomas-langer tomas-langer added open-api declarative Helidon Declarative labels Jun 4, 2026
@tomas-langer tomas-langer self-assigned this Jun 4, 2026
@oracle-contributor-agreement oracle-contributor-agreement Bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Jun 4, 2026
@tomas-langer
tomas-langer requested review from spericas and tjquinno June 4, 2026 15:43

@danielkec danielkec left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review issues found on exact head 8b54e7b.

@danielkec danielkec left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Additional review issues found on exact head 8b54e7b.

@danielkec danielkec left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Current-head review comments for the remaining issues.

@tomas-langer
tomas-langer requested a review from danielkec June 12, 2026 14:54

@danielkec danielkec left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Current-head review comments for issues not previously reported.

@danielkec danielkec left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Current-head follow-up review: two remaining issues not already covered by the existing inline threads.

@danielkec danielkec left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Current-head review comments for the remaining issues not already covered by existing threads.

@tomas-langer
tomas-langer requested a review from danielkec June 15, 2026 23:12
Comment thread openapi/openapi/src/main/java/io/helidon/openapi/v30/OpenApiDocumentReader.java Outdated

@danielkec danielkec left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Current-head review comments for issues not previously reported.

@tomas-langer
tomas-langer requested a review from danielkec June 16, 2026 15:14

@danielkec danielkec left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Current-head review comments for still-unreported issues.

Comment thread openapi/openapi/src/main/java/io/helidon/openapi/v30/OpenApiDocumentReader.java Outdated
Comment thread openapi/openapi/src/main/java/io/helidon/openapi/v30/OpenApi30DocumentMapper.java Outdated
@tomas-langer
tomas-langer requested a review from danielkec June 26, 2026 12:49
@tomas-langer
tomas-langer force-pushed the 10729-declarative-openapi branch from c0fa494 to 6ae7e7c Compare July 2, 2026 14:36
Comment thread openapi/openapi/src/main/java/io/helidon/openapi/OpenApi.java
Comment thread openapi/openapi/src/main/java/io/helidon/openapi/OpenApi.java
Comment thread openapi/openapi/src/main/java/io/helidon/openapi/OpenApi.java
Comment thread openapi/openapi/src/main/java/io/helidon/openapi/OpenApi.java Outdated
@tomas-langer
tomas-langer force-pushed the 10729-declarative-openapi branch from 6ae7e7c to 6ca18e6 Compare July 24, 2026 22:27
@tomas-langer
tomas-langer requested a review from tjquinno July 24, 2026 22:29

@tjquinno tjquinno left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some additional notes highlighting features in OpenAPI documents that the combination of RestServer.Endpoint and the OpenApi annotations might not cover.

If we are intentionally implementing a subset, that's fine, but enumerating what we are not providing either in Javadoc or doc might avoid user confusion or spurious bug reports.

Comment thread openapi/openapi/src/main/java/io/helidon/openapi/OpenApi.java
Comment thread openapi/openapi/src/main/java/io/helidon/openapi/OpenApi.java
Comment thread openapi/openapi/src/main/java/io/helidon/openapi/OpenApi.java
Comment thread openapi/openapi/src/main/java/io/helidon/openapi/OpenApi.java
Comment thread openapi/openapi/src/main/java/io/helidon/openapi/OpenApi.java
Comment thread openapi/openapi/src/main/java/io/helidon/openapi/OpenApi.java
Comment thread openapi/openapi/src/main/java/io/helidon/openapi/OpenApi.java
@tomas-langer
tomas-langer requested a review from tjquinno July 30, 2026 18:14
@tomas-langer
tomas-langer force-pushed the 10729-declarative-openapi branch from 20fa814 to d746833 Compare August 3, 2026 18:11
@tomas-langer
tomas-langer force-pushed the 10729-declarative-openapi branch from 470e230 to ae4e619 Compare August 27, 2026 16:07
@tomas-langer
tomas-langer requested a review from tvallin August 27, 2026 16:08
tvallin
tvallin previously approved these changes Aug 28, 2026

@danielkec danielkec left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Current-head follow-up for seven distinct issues not covered by existing discussions.

Comment thread openapi/openapi/src/main/java/module-info.java Outdated

@danielkec danielkec left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Current-head follow-up for three distinct issues not covered by existing discussions.

@tomas-langer
tomas-langer requested a review from danielkec August 30, 2026 16:00
@tomas-langer
tomas-langer force-pushed the 10729-declarative-openapi branch 2 times, most recently from 3a48ebb to 93d9571 Compare September 1, 2026 09:35

@danielkec danielkec left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Current-head follow-up for seven distinct issues not covered by existing discussions.

Comment thread openapi/openapi/src/main/java/io/helidon/openapi/OpenApiDocumentComposer.java Outdated
Comment thread http/media/media/src/main/java/io/helidon/http/media/ReadableEntity.java Outdated

@danielkec danielkec left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Current-head follow-up for four distinct issues not covered by existing discussions.

Comment thread openapi/openapi/src/main/java/io/helidon/openapi/OpenApiDocumentComposer.java Outdated

@danielkec danielkec left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Current-head follow-up for three additional distinct issues not covered by existing discussions.

@oracle-contributor-agreement oracle-contributor-agreement Bot added OCA Required At least one contributor does not have an approved Oracle Contributor Agreement. and removed OCA Verified All contributors have signed the Oracle Contributor Agreement. labels Sep 2, 2026
@tomas-langer

Copy link
Copy Markdown
Member Author

I have to reset the history and create less commits, OCA failed.

@tomas-langer
tomas-langer force-pushed the 10729-declarative-openapi branch from 379e369 to d39e168 Compare September 2, 2026 23:33
@oracle-contributor-agreement oracle-contributor-agreement Bot added OCA Verified All contributors have signed the Oracle Contributor Agreement. and removed OCA Required At least one contributor does not have an approved Oracle Contributor Agreement. labels Sep 2, 2026

@danielkec danielkec left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed current head d39e168.

@tomas-langer
tomas-langer merged commit 150cd59 into helidon-io:main Sep 3, 2026
44 checks passed
@tomas-langer
tomas-langer deleted the 10729-declarative-openapi branch September 3, 2026 09:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

declarative Helidon Declarative OCA Verified All contributors have signed the Oracle Contributor Agreement. open-api

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Declarative OpenAPI

4 participants