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

Claus Ibsen resolved CAMEL-14724.
---------------------------------
    Resolution: Fixed

Also fixed for openapi

> camel-swagger-java Semantic error. Methods in rest service with id have the 
> same operationId
> --------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-14724
>                 URL: https://issues.apache.org/jira/browse/CAMEL-14724
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-swagger
>    Affects Versions: 3.1.0
>            Reporter: Mikhail Lukyanov
>            Priority: Minor
>             Fix For: 3.2.0
>
>
> In camel-swagger-java, for this service
>  
> <rest id="4f777f7b-f2fd-4107-8271-a50640d4525c" path="/path" 
> produces="application/json">
>  <get id="026ea872-e2f8-4772-8d10-6482b8549f11" 
>  produces="application/json" uri="/get">
>  <description/>
>  <responseMessage message="OK" code="200" />
>  <to uri="direct-vm://restLink"/>
>  </get>
>  <get id="247f814f-5970-4cc1-975d-374195ff9b42" 
>  produces="application/json" uri="/get2">
>  <description/>
>  <responseMessage message="OK" code="200" />
>  <to uri="direct-vm://restLink"/>
>  </get>
>  </rest>
>  
>  I get next swagger.json, which does not pass validation because 
> h4. Semantic error at paths./path/get2.get.operationId
> Operations must have unique operationIds.
>   
>   
> { "swagger" : "2.0", "info" :
> { "version" : "1.0", "title" : "REST API" }
> , "host" : "[0.0.0.0:9090|http://0.0.0.0:9090/]";, "basePath" : "/fesb-rest", 
> "tags" : [ \{ "name" : "path" } ], "schemes" : [ "http", "https" ], "paths" : 
> { "/path/get" : { "get" : { "tags" : [ "path" ], "summary" : "", 
> "operationId" : 
> "{color:#ff0000}4f777f7b-f2fd-4107-8271-a50640d4525c{color}{color:#000000}", 
> "produces" : [ "application/json" ], "responses" : \{ "200" : { "description" 
> : "OK" } } } }, "/path/get2" : { "get" : { "tags" : [ "path" ], "summary" : 
> "", "operationId" : 
> "{color}{color:#ff0000}4f777f7b-f2fd-4107-8271-a50640d4525c{color}{color:#000000}",
>  "produces" : [ "application/json" ], "responses" : \{ "200" : { 
> "description" : "OK" } } } } } }{color}
>   
>   I need the id of the methods and not the service to be used, while the 
> service id should remain
>   I looked at the code and found the following in the class 
> *RestSwaggerReader.* 
>  
> String operationId = 
> (String)Optional.ofNullable(rest.getId()).orElse(routeId);
>  op.operationId(operationId); 



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

Reply via email to