[ 
https://issues.apache.org/jira/browse/CXF-8583?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17402913#comment-17402913
 ] 

Andriy Redko commented on CXF-8583:
-----------------------------------

Hi [~jcarman] ,

AFAIK, OpenApi implementation does use cache to store the scanned classes, so 
in general, it should not read it many times (unless changed). In any case, if 
the same operation appears multiple times in the resulting specification (under 
different operation id), it is certainly good idea to address that (the patch 
is more than welcome). Thank you.

Best Regards,
    Andriy Redko 

> OpenApiFeature Always Appends Numbered Suffix (i.e. "_1") to operationId
> ------------------------------------------------------------------------
>
>                 Key: CXF-8583
>                 URL: https://issues.apache.org/jira/browse/CXF-8583
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-RS
>    Affects Versions: 3.4.4
>            Reporter: James W. Carman
>            Priority: Minor
>
> It appears that the duplicate calls to OpenApiContext.read() are causing it 
> to think the operationIds are duplicated, thus causing it to append a "_1" 
> (or whatever the counter gets to) to the operationIds in order to make them 
> unique.
> Here's my understanding of what's causing the collisions:
> In OpenApiCustomizedResource, it calls the OpenApiContext.read() operation 
> here:
> [https://github.com/apache/cxf/blob/75fb6bb56d82f72771a9ee6ecab5d36168303f51/rt/rs/description-openapi-v3/src/main/java/org/apache/cxf/jaxrs/openapi/OpenApiCustomizedResource.java#L77]
> At the end of the method, though, it makes a call to the superclass' 
> implementation of the getOpenApi() method here:
> [https://github.com/apache/cxf/blob/75fb6bb56d82f72771a9ee6ecab5d36168303f51/rt/rs/description-openapi-v3/src/main/java/org/apache/cxf/jaxrs/openapi/OpenApiCustomizedResource.java#L106]
> The overridden BaseOpenApiResource class' implementation of getOpenApi() 
> subsequently calls OpenApiContext.read() again here:
> [https://github.com/swagger-api/swagger-core/blob/v2.1.6/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/resources/BaseOpenApiResource.java#L51]
> It is during this second invocation of the OpenApiContext.read() method in 
> the superclass where the operatorId collisions occur.
> I am happy to submit a patch to address it, but I do ask for a little 
> guidance here on how we'd like to fix this, please. It would seem that this 
> would break existing behavior and I don't want to mess anyone up.
> Thanks,
>  
> James
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to