[
https://issues.apache.org/jira/browse/CAMEL-18168?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17550910#comment-17550910
]
Joe Siponen commented on CAMEL-18168:
-------------------------------------
See discussion in
https://camel.zulipchat.com/#narrow/stream/257298-camel/topic/camel-main.20restConfiguration.20in.20quarkus.20application.2Eyml.3F
> camel.rest.apiProperties (restConfiguration) in quarkus
> application.yml/application.properties and camel-main standalone
> ------------------------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-18168
> URL: https://issues.apache.org/jira/browse/CAMEL-18168
> Project: Camel
> Issue Type: Improvement
> Components: camel-main, camel-rest-swagger
> Affects Versions: 3.17.0
> Reporter: Joe Siponen
> Priority: Minor
>
> I have this {{restConfiguration}} in a quarkus (2.9.2.Final) application:
> {code:java}
> @ConfigProperty(name = "quarkus.http.root-path")
> String quarkusHttpRootPath;
> @ConfigProperty(name = "quarkus.application.name")
> String quarkusApplicationName;
> public void configure() throws Exception {
> restConfiguration()
> .dataFormatProperty("prettyPrint", "true")
> //.port(8080) - Not applicable, using quarkus http server
> //.host("0.0.0.0") - Not applicable, using quarkus http server
> .enableCORS(true)
> // turn on openapi api-doc
> .apiContextPath("/openapi")
> .apiVendorExtension(true)
> .apiProperty("base.path", quarkusHttpRootPath)
> .apiProperty("api.title", quarkusApplicationName)
> .apiProperty("api.version", "1.0.0")
> // and enable CORS
> .apiProperty("cors", "true");
> //... routes etc
> }
> {code}
> I attempted to do the same configuration in my application's
> {{application.yml}} instead as my understanding is that quarkus uses
> camel-main to bootstrap/start camel (but could be a misunderstanding on my
> part...).
> I consulted
> https://camel.apache.org/components/3.17.x/others/main.html#_camel_rest_dsl_configurations
> and saw some options listed there that fits nicely with my goal. I ended up
> with this configuration in my {{application.yml:}}
>
> {code:java}
> camel:
> context:
> name: "${quarkus.application.name}"
> rest:
> enableCORS: true
> apiContextPath: "/openapi"
> apiVendorExtension: true
> apiProperties:
> "[base.path]": "${quarkus.http.root-path}"
> "[api.title]": "${quarkus.application.name} API"
> "[api.version]": "${quarkus.application.version}"{code}
>
> And I also tried the same settings in {{{}application.properties{}}}:
>
> {code:java}
> camel.rest.apiProperties."[api.title]"=${quarkus.application.name} API
> camel.rest.apiProperties."[api.version]"=${quarkus.application.version}
> camel.rest.apiProperties."[base.path]"=${quarkus.http.root-path}{code}
>
> But, I am *not* able to set the {{apiProperties}} in any of the above ways.
> For instance, the {{api.title}} is not shown in the Swagger UI and the
> {{base.path}} is not set (a 404 is generated when the API is invoked by
> Swagger). The application itself starts without any errors.
> It seems that there is something missing here to make this configurable in
> both camel-main standalone and camel quarkus.
>
--
This message was sent by Atlassian Jira
(v8.20.7#820007)