[ 
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 [~jen...@gmx.net],

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)

Reply via email to