Hi

Yeah that seems like a little bug/issue. You are welcome to create a
JIRA ticket and work on a fix and provide it as a github PR.

On Fri, Mar 13, 2020 at 8:30 AM Mikhail Lukyanov <lukyanov...@gmail.com> wrote:
>
> 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
> Semantic error at paths./path/get2.get.operationIdOperations must have
> unique operationIds.
>
> {
>   "swagger" : "2.0",
>   "info" : {
>     "version" : "1.0",
>     "title" : "REST API"
>   },
>   "host" : "0.0.0.0:9090",
>   "basePath" : "/fesb-rest",
>   "tags" : [ {
>     "name" : "path"
>   } ],
>   "schemes" : [ "http", "https" ],
>   "paths" : {
>     "/path/get" : {
>       "get" : {
>         "tags" : [ "path" ],
>         "summary" : "",
>         "operationId" : "4f777f7b-f2fd-4107-8271-a50640d4525c",
>         "produces" : [ "application/json" ],
>         "responses" : {
>           "200" : {
>             "description" : "OK"
>           }
>         }
>       }
>     },
>     "/path/get2" : {
>       "get" : {
>         "tags" : [ "path" ],
>         "summary" : "",
>         "operationId" : "4f777f7b-f2fd-4107-8271-a50640d4525c",
>         "produces" : [ "application/json" ],
>         "responses" : {
>           "200" : {
>             "description" : "OK"
>           }
>         }
>       }
>     }
>   }
> }
>
> 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);
>
> Why is the service id, and not the method, used in the first place, does
> this cause a validation error if the service has several methods?
> --
> *With best regards, Lukyanov Mikhail*
> *Моб: **+7-909-69-71-547*



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

Reply via email to