[
https://issues.apache.org/jira/browse/CAMEL-12957?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16871751#comment-16871751
]
Freeman Fang commented on CAMEL-12957:
--------------------------------------
Hi [[email protected]],
A quick update, you do need to set "runAsFilter" as true, this is by design to
avoid swagger request run into the camel router. And I can confirm that this
way Swagger2Feature works, please see attached
camel-openapi-test-swagger2feature.tar, you can access
http://localhost:8080/api-docs?url=/swagger.json (to get the swagger UI render)
or
http://localhost:8080/swagger.json (to get the raw swagger payload).
I'm still checking the OpenApiFeature(OpenApi V3), to see it's just a
configuration problem or we do need some work in cxf OpenApiFeature to make it
work with camel-cxfrs.
Cheers
Freeman
> camel-cxf - Swagger/OpenAPI feature should not involve the Camel route
> ----------------------------------------------------------------------
>
> Key: CAMEL-12957
> URL: https://issues.apache.org/jira/browse/CAMEL-12957
> Project: Camel
> Issue Type: Improvement
> Components: camel-cxfrs
> Affects Versions: 2.22.2
> Reporter: Jens Kleine-Herzbruch
> Assignee: Freeman Fang
> Priority: Minor
> Attachments: camel-openapi-test-swagger2feature.tar,
> camel-openapi-test.zip
>
>
> Currently, when adding Swagger2Feature or OpenApiFeature to a CXFRS endpoint,
> the calls to the API descriptions go through the Camel route, ie. one has to
> implement an additional Camel route in order to make those features work.
> Using runAsFilter=false a call to
> http://localhost:8080/services/myCamelService/openapi.json
> results in a call of the Camel route with an operation "getOpenApi"
> http://localhost:8080/services/myCamelServive/api-docs?url=openapi.json
> results in call of the Camel route with an operation "getResource"
> Using runAsFilter=true the situation improves marginally:
> http://localhost:8080/services/myCamelService/openapi.json
> still results in a call of the Camel route with an operation "getOpenApi"
> http://localhost:8080/services/myCamelServive/api-docs?url=openapi.json
> at least now shows the Swagger UI page frame but still fails to load the
> actual service description since it again calls the Camel route with the
> "getOpenApi" operation.
> Supposedly that means the filter correctly intercepts the getResource call
> but not the getOpenApi call. It would be great if this worked out of the box.
> A custom implementation would still be possible by not running as a filter.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)