springspring-bootswaggerswagger-ui

springdoc-openapi-ui swagger 3 change API description


I am new to String and Swagger 3. How can I change the default API description i.e. OpenAPI definition in Swagger springdoc-openapi-ui swagger 3

enter image description here

Also version, developer information..

I am using

implementation "org.springframework.boot:spring-boot-starter-web:2.6.6"
implementation "org.springdoc:springdoc-openapi-ui:1.6.8"

In search, I see only they are showing default Swagger UI


Solution

  • Simply use following annotations :

    In application launcher class(Configuration class):

    @OpenAPIDefinition(info=@Info(title="Name of project"))
    

    In Controller imports should be as follows :

    import io.swagger.v3.oas.annotations.*
    

    Class level:

    @OpenAPIDefinition()
    

    OR

    @Tag(name = "", description = "")
    public class ApiController {
    

    Method level :

    @PutMapping(value = "/test")
    @Operation(summary = "info...")
    @ApiResponses(value = {
            @ApiResponse(responseCode = "200", description = "successfully updated"),
            @ApiResponse(responseCode = "400", description = "Bad request"),
            @ApiResponse(responseCode = "500", description = "Internal Server Error")})
    

    And config class should be like this :

    @Configuration
    public class ApiDocumentationConfig {
    
        @Bean
        public OpenAPI apiDocConfig() {
            return new OpenAPI()
                    .info(new Info()
                            .title("example API")
                            .description("example API for routing ")
                            .version("0.0.1")
                            .contact(new Contact()
                                    .name("example")
                                    .email("exaample@z.com")))
                    .externalDocs(new ExternalDocumentation()
                            .description("Documentation")
                            .url("https:/wiki...."));
        }
    
        @Bean
        public MvcConfig mvcConfig() {
            return new MvcConfig();
        }
    }