Swagger | Springboot 3.2 | The provided definition does not specify a valid version field

240 views Asked by At

swagger-ui/index.html

How to fix the error of: The provided definition does not specify a valid version field after implementing Swagger under Spring Boot 3.2

<dependency>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
    <version>2.3.0</version>
</dependency>
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {

    @Override
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
        final Collection<HttpMessageConverter<?>> myConverters = new ArrayList<>();

        final Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder();
        builder.serializerByType(ObjectId.class, new ToStringSerializer());

        final HttpMessageConverter<Object> converter = new MappingJackson2HttpMessageConverter(builder.build());
        myConverters.add(converter);
        myConverters.addAll(converters);

        converters.clear();
        converters.addAll(myConverters);
    }
springdoc:
  writer-with-default-pretty-printer: true
  swagger-ui:
    display-request-duration: true
    disable-swagger-default-url: true
  api-docs:
    version: openapi_3_1
1

There are 1 answers

0
wga On

To fix this issue, just add the folling parameter in the openapi section !

Then it works fine!

screenshot of application.yml with openapi conf

screenshot of Swagger fixed exposed with entrypoints