im writing a little java8 webapp right now and i am using openapi3 and swagger ui. now i have 2 packages with 1 resources folder each. they have a different @Path of course but the same Method. Both have only 1 GET method called "sayHi"
Now I included the jersey APIs for the OpenAPI simply by adding this servlet in the pom:
<servlet>
<servlet-name>jersey</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.wadl.disableWadl</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>
io.swagger.v3.jaxrs2.integration.resources,
SampleWebappSwagger.api1.resources,
SampleWebappSwagger.api2.resources
</param-value>
</init-param>
<init-param>
<param-name>openApi.configuration.prettyPrint</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>jersey</servlet-name>
<url-pattern>/api/*</url-pattern>
</servlet-mapping>
</web-app>
So no configurations files or classes whatsoever. Everything works fine but in the OpenAPI json file one of the methods (both are named sayHi gets an underscore with a 1 appended:
{
"openapi" : "3.0.1",
"paths" : {
"/res1/dino1" : {
"get" : {
"operationId" : "sayHi",
"responses" : {
"default" : {
"description" : "default response",
"content" : {
"*/*" : { }
}
}
}
}
},
"/res2/dino2" : {
"get" : {
"operationId" : "sayHi_1",
"responses" : {
"default" : {
"description" : "default response",
"content" : {
"*/*" : { }
}
}
}
}
}
}
}
Is there a way to not have it appended like that?