Kein Endpoint für Swagger UI

DrPils

Bekanntes Mitglied
Hi
Ich wollte Swagger-UI in meiner Spring-Boot Rest Api integrieren.
Wenn ich localhost:8080/swagger-ui.html aufrufe bekomme ich die Whitelabel Error Page.
Über localhost:8080/v3/api-docs die api.json abzurufen funktioniert.

[CODE lang="xml" title="pom.xml"]<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- ..... -->
<dependencies>
<!-- ..... -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>

</dependencies>
</project>
[/CODE]

[CODE lang="java" title="SpringFoxConfig"]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;

@Configuration
public class SpringFoxConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build();
}
}[/CODE]
 
Wenn man z.B. https://www.baeldung.com/swagger-2-documentation-for-spring-rest-api betrachtet, dann werden dort auch addResourceHandler Aufrufe gezeigt. So etwas dürfte doch notwendig sein, damit klar ist, wie diese URL behandelt werden soll.

Evtl. einfach mal den Beitrag auf Baeldung im Detail aschauen und prüfen, was da alles an Schritten gezeigt wird um es mit Deiner Lösung zu vergleichen.
Ja dem Tutorial bin ich gefolgt, das mit den resourceHandlern ist unter "Configuration without Spring Boot".
Ich habe ne Spring Boot Application.

Lösung:
Also ab Spring 2.6 ist springdoc jetzt springfox, also alle springfox dependencies raus, die Config Class raus und die dependencie:
XML:
        <dependency>
            <groupId>org.springdoc</groupId>
            <artifactId>springdoc-openapi-ui</artifactId>
            <version>1.6.6</version>
        </dependency>
rein.

In den application.properties noch springdoc.swagger-ui.enabled auf true setzen und fertig
 

Neue Themen


Zurück
Oben