[
https://issues.apache.org/jira/browse/CAMEL-23863?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen updated CAMEL-23863:
--------------------------------
Issue Type: Task (was: Bug)
> camel run --example=rest-api fails to start: invalid YAML in bundled rest-api
> example
> -------------------------------------------------------------------------------------
>
> Key: CAMEL-23863
> URL: https://issues.apache.org/jira/browse/CAMEL-23863
> Project: Camel
> Issue Type: Task
> Components: camel-jbang
> Affects Versions: 4.21.0
> Reporter: Adriano Machado
> Priority: Major
>
> Running the bundled rest\-api example fails at startup:
> {code}
> camel run \-\-example=rest\-api
> {code}
> {code}
> ERROR ... org.apache.camel.main.MainSupport : Error starting Camel:
> Error constructing YAML node id: rest
> in file:.../rest\-api.camel.yaml, line 2, column 5:
> path: /api
> \^
> {code}
> h3. Root cause
> The bundled example {{rest\-api.camel.yaml}} placed a {{steps:}} key under
> {{rest:}} and defined verbs without a {{to:}} target. {{steps}} is not a
> valid property of the REST DSL {{}} element; verbs
> \({{get}}/{{post}}/{{put}}/{{delete}}\) must be direct children of {{rest}},
> each a list whose entries carry a {{to:}} target. The failure happens during
> route\-model construction \(not pure YAML parsing\), which is why the
> reported position points at the first child line of the {{rest}} node rather
> than at the offending key.
> h3. Steps to reproduceh1. {{camel run \-\-example=rest\-api}}
> h1. Observe the {{Error constructing YAML node id: rest}} startup failure.
> h3. Expected
> The example starts and serves {{GET /api/hello}} and {{GET
> /api/hello/{name}}}.
> h3. Fix
> * Correct the verb structure in
> {{dsl/camel\-jbang/camel\-jbang\-core/src/main/resources/examples/rest\-api/rest\-api.camel.yaml}}
> \(verbs as children of {{rest}} with {{to:}} targets pointing at
> {{direct:hello}} / {{direct:hello\-name}}\).
> * Add a generic parameterized test \({{ExampleRoutesLoadTest}}\) that loads
> every bundled example through the routes loader, guarding all examples
> against this class of regression.
> _Reported by Claude Code on behalf of Adriano Machado._
--
This message was sent by Atlassian Jira
(v8.20.10#820010)