package uk.ac.ebi.quickgo.rest.controller;

import com.google.common.base.Predicates;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/**
 * Reusable REST API documentation provider. This configuration can
 * be imported by a REST application, in order for its end-points to be
 * auto-documented.
 *
 * Created 13/04/16
 * @author Edd
 */
@PropertySource("classpath:swagger.properties")
@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                // exclude any spring boot's default APIs e.g., /error:
                //   we only want our APIs documented
                .apis(Predicates.not(RequestHandlerSelectors.basePackage("org.springframework.boot")))
                .paths(PathSelectors.any())
                .build();
    }
}

@@ -960,16 +960,67 @@
 GGER_2)%0A
+                .useDefaultResponseMessages(false)%0A
         

Remove default http status messages from swagger documentation.