[ 
https://issues.apache.org/jira/browse/CAMEL-23863?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen updated CAMEL-23863:
--------------------------------
    Fix Version/s: 4.22.0

> 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: Minor
>             Fix For: 4.22.0
>
>
> 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)

Reply via email to