Federico Mariani created CAMEL-24119:
----------------------------------------
Summary: camel-rest-openapi & camel-openapi-java: structural
improvements from the July 2026 code review - umbrella
Key: CAMEL-24119
URL: https://issues.apache.org/jira/browse/CAMEL-24119
Project: Camel
Issue Type: Improvement
Components: camel-openapi-java, camel-rest-openapi
Reporter: Federico Mariani
Attachments: camel-rest-openapi-openapi-java-improvements.md
Umbrella for structural improvements to {{camel-rest-openapi}} and
{{camel-openapi-java}} identified during the July 2026 deep code review (bug
tickets: CAMEL-24112..24117, CAMEL-24118). Unlike the bug tickets, these target
the *categories* behind the defects rather than single instances. Full write-up
with rationale and code references is in the attached
{{camel-rest-openapi-openapi-java-improvements.md}}.
Summary of proposed improvements:
h3. camel-rest-openapi
# Build delegate {{rest:}} endpoints as prototypes (removes the
shared-mutable-endpoint category behind CAMEL-24113)
# Delegate request validation to swagger-request-validator and run it after
binding/marshalling (fixes the CAMEL-24114 blind spots wholesale; aligns with
CAMEL-23599)
# Per-consumer strategy state + consumer-owned processor lifecycle (categories
behind CAMEL-24116/24117)
# Single "effective operation id" abstraction used by validation, dispatch,
mocking and the REST registry (category behind CAMEL-24115)
# Deterministic, documented server selection (host+basePath from the same,
first server; optional serverIndex/serverName option)
# Fail fast with descriptive spec diagnostics instead of NPEs on malformed specs
# Real Accept/Content-Type negotiation for mock responses; route mocks through
RestBindingAdvice (CORS, OPTIONS preflight)
h3. camel-openapi-java
# One shared DSL-type -> typed-swagger-schema mapping utility (removes the
CAMEL-24118 invalid-output category)
# CI validation of generated documents against the official OpenAPI 3.0/3.1
meta-schemas
# Stop mutating JVM-global swagger-core state (ModelConverters singletons,
Json/Yaml mapper date-format mutation)
# Deterministic output ordering (ordered collections instead of HashSet where
content reaches the document)
# Consistent X-Forwarded-* handling
# Align reader evolution with open feature requests (CAMEL-21742/21743/21744,
CAMEL-18950, CAMEL-19763, CAMEL-23570)
h3. Cross-component
# Shared server-URL parsing helper (variables substitution, defined fallbacks,
descriptive errors) used by both components — also the right home for the
CAMEL-22257 URI.create regression fix
# Regression tests for the untested combinations the review exposed
(multi-param operations + literals, two consumers/producers per spec, route
reload, specs without operationId/servers/200-responses)
----
_This issue was researched and filed by Claude Code on behalf of [~croway]
(GitHub: Croway), as part of a deep code review of camel-rest-openapi and
camel-openapi-java on main (4.22.0-SNAPSHOT)._
--
This message was sent by Atlassian Jira
(v8.20.10#820010)