webentwicklung-frage-antwort-db.com.de

Swagger mit Spring Boot 2.0 führt zur 404-Fehlerseite

Ich versuche, meine Spring Boot-Version 2.0.1.RELEASE mit Swagger zu integrieren.

Aus diesem Blog-Post schien es einfach zu sein, wenn nur zwei Maven-Abhängigkeiten hinzugefügt werden und alles sollte funktionieren.

Also habe ich folgende Abhängigkeiten zum Pom hinzugefügt:

        <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger2</artifactId>
        <version>2.8.0</version>
    </dependency>

    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger-ui</artifactId>
        <version>2.8.0</version>
    </dependency>

Und erstellt die SwaggerConfig-Bean:

@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
    Docket docket = new Docket(DocumentationType.SWAGGER_2)
            .select()
            .apis(RequestHandlerSelectors.any())
            .paths(PathSelectors.any())
            .build();

    return docket;
   }
}

Und in der Eigenschaftendatei habe ich bei den Versuchen, es funktionieren zu lassen, diese 3 Einträge erhalten:

spring.application.name=cat-service
management.server.servlet.context-path=/cat-service
server.servlet.contextPath=/cat-service

Aber am Ende beim Zugriff

http://localhost:8080/cat-service/api/v2/api-docs 

oder die UI-Seite unter 

http://localhost:8080/cat-service/swagger-ui.html 

Ich erhalte einen page not found-Fehler.

Ich habe diese Probleme in der Swagger-Github-Seite gefunden und Diese Frage in stackoverflow , aber ich konnte meinen 404-Fehler nicht ändern.

5
riorio

Ich konnte es mit Spring Boot Version 2.0.4.RELEASE und diesem Blogbeitrag zum Laufen bringen:

Ich habe diese Abhängigkeiten hinzugefügt:

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.9.2</version>
</dependency>

Und diese Konfigurationsdatei:

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
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;

@Configuration
@EnableSwagger2
public class SpringFoxConfig {
    @Bean
    public Docket apiDocket() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.any())
                .paths(PathSelectors.any())
                .build();
    }
}

Und es hat funktioniert.

3
riorio

Nach dem Entfernen von @EnableWebMvc funktionierte es für mich.

0
gstackoverflow