springdoc-openapi
springdoc-openapi copied to clipboard
/v3/api-docs fails with java.lang.NoSuchMethodError: io.swagger.v3.oas.models.media.Schema.addProperty(java.lang.String, io.swagger.v3.oas.models.media.Schema)
I have hello world rest api service based on spring boot 2.7.3 powered JDK 17:
@RestController
public class ApiServerController {
@PostMapping(value="/invoke")
public InvokeResponse invoke(@RequestBody InvokeRequest request, MessageContext messageContext) {
return new InvokeResponse();
}
}
I have included into the pom.xml file the springdoc-openapi-ui module:
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.6.11</version>
</dependency>
Here is a dependency tree:

I have tried to invoke http://localhost:8080/v3/api-docs and get:
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
There was an unexpected error (type=Internal Server Error, status=500).
'io.swagger.v3.oas.models.media.Schema io.swagger.v3.oas.models.media.Schema.addProperty(java.lang.String, io.swagger.v3.oas.models.media.Schema)'
java.lang.NoSuchMethodError: 'io.swagger.v3.oas.models.media.Schema io.swagger.v3.oas.models.media.Schema.addProperty(java.lang.String, io.swagger.v3.oas.models.media.Schema)'
at org.springdoc.core.RequestBodyInfo.addProperties(RequestBodyInfo.java:91)
at org.springdoc.core.GenericParameterService.calculateRequestBodySchema(GenericParameterService.java:385)
at org.springdoc.core.GenericParameterService.calculateSchema(GenericParameterService.java:347)
at org.springdoc.core.RequestBodyService.buildRequestBody(RequestBodyService.java:275)
at org.springdoc.core.RequestBodyService.calculateRequestBodyInfo(RequestBodyService.java:251)
at org.springdoc.core.AbstractRequestService.build(AbstractRequestService.java:311)
at org.springdoc.api.AbstractOpenApiResource.calculatePath(AbstractOpenApiResource.java:453)
at org.springdoc.api.AbstractOpenApiResource.calculatePath(AbstractOpenApiResource.java:615)
at org.springdoc.webmvc.api.OpenApiResource.lambda$calculatePath$11(OpenApiResource.java:234)
at java.base/java.util.Optional.ifPresent(Optional.java:178)
at org.springdoc.webmvc.api.OpenApiResource.calculatePath(OpenApiResource.java:215)
at org.springdoc.webmvc.api.OpenApiResource.lambda$getPaths$2(OpenApiResource.java:185)
at java.base/java.util.Optional.ifPresent(Optional.java:178)
at org.springdoc.webmvc.api.OpenApiResource.getPaths(OpenApiResource.java:164)
at org.springdoc.api.AbstractOpenApiResource.getOpenApi(AbstractOpenApiResource.java:329)
at org.springdoc.webmvc.api.OpenApiResource.openapiJson(OpenApiResource.java:139)
at org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson(OpenApiWebMvcResource.java:116)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1070)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:655)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
What is wrong?
Thank you!