未提供API定义

问题描述 投票:0回答:1

错误

未提供 API 定义。


问题描述

我有一个 Spring Boot 应用程序,版本 3.2.5,我添加了以下依赖项:

    <!-- SWAGGER -->
    <dependency>
       <groupId>org.springdoc</groupId>
       <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
       <version>2.5.0</version>
    </dependency>

之后,我进入 application.properties 并添加以下值:


    # Spring Docs API path
    springdoc.api-docs.path=/swagger/api-docs
    
    # Spring Docs Swagger UI path
    springdoc.swagger-ui.path=/swagger-ui.html
    
    # Spring Docs Sort 
    springdoc.swagger-ui.operationsSorter=method
    
    # This will set UI to fetch the config URL from
    springdoc.swagger-ui.configUrl=/swagger/api-docs

然后我运行应用程序,当我访问:http://localhost:10110/swagger-ui/index.html

显示:

 No API definition provided.

但是,如果我访问:http://localhost:10110/

它显示为 JSON,我拥有的所有端点。


问题

我该如何解决这个问题?


参考文献

未提供API定义。 - openApi - springdoc


我的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">
        <modelVersion>4.0.0</modelVersion>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>3.2.5</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <groupId>br.com.acme</groupId>
        <artifactId>acme</artifactId>
        <version>0.0.2</version>
        <name>acmeTotal</name>
        <description>Projeto acme Total</description>
        
        <properties>
            <java.version>17</java.version>
        </properties>
        
        <dependencies>    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-jpa</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-rest</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-jdbc</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-mail</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-security</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-validation</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-devtools</artifactId>
                <scope>runtime</scope>
                <optional>true</optional>
            </dependency>
            <dependency>
                <groupId>com.mysql</groupId>
                <artifactId>mysql-connector-j</artifactId>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-configuration-processor</artifactId>
                <optional>true</optional>
            </dependency>
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <optional>true</optional>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-test</artifactId>
                <scope>test</scope>
            </dependency>
            
            
            <!-- MANUALLY ADDED DEPENDENCIES BELOW -->
            <!-- SWAGGER -->
            <dependency>
                <groupId>org.springdoc</groupId>
                <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
                <version>2.5.0</version>
            </dependency>
            
            <!-- Hypersistence-Optimizer -->
            <dependency>
                <groupId>io.hypersistence</groupId>
                <artifactId>hypersistence-optimizer</artifactId>
                <version>2.8.2</version>
                <classifier>jakarta</classifier>
            </dependency>
            
            <dependency> 
                <groupId>org.apache.poi</groupId>
                <artifactId>poi</artifactId> 
                <version>5.2.3</version> 
            </dependency> 
            
            <dependency> 
                <groupId>org.apache.poi</groupId> 
                <artifactId>poi-ooxml</artifactId> 
                <version>5.2.3</version> 
            </dependency>
            
            
            <!-- https://mvnrepository.com/artifact/io.jsonwebtoken/jjwt-api -->
            <dependency>
                <groupId>io.jsonwebtoken</groupId>
                <artifactId>jjwt-api</artifactId>
                <version>0.12.1</version>
            </dependency>
    
            <!-- https://mvnrepository.com/artifact/io.jsonwebtoken/jjwt-impl -->
            <dependency>
                <groupId>io.jsonwebtoken</groupId>
                <artifactId>jjwt-impl</artifactId>
                <version>0.12.1</version>
                <scope>runtime</scope>
            </dependency>
    
            <!-- https://mvnrepository.com/artifact/io.jsonwebtoken/jjwt-jackson -->
            <dependency>
                <groupId>io.jsonwebtoken</groupId>
                <artifactId>jjwt-jackson</artifactId>
                <version>0.12.1</version>
                <scope>runtime</scope>
            </dependency>
            
            
            <dependency>
                <groupId>org.mapstruct</groupId>
                <artifactId>mapstruct</artifactId>
                <version>1.5.5.Final</version>
            </dependency>
    
            <!-- https://mvnrepository.com/artifact/org.mapstruct/mapstruct-processor -->
            <dependency>
                <groupId>org.mapstruct</groupId>
                <artifactId>mapstruct-processor</artifactId>
                <version>1.5.5.Final</version>
            </dependency>
    
    
            <!-- https://mvnrepository.com/artifact/net.sf.jasperreports/jasperreports -->
            <dependency>
                <groupId>net.sf.jasperreports</groupId>
                <artifactId>jasperreports</artifactId>
                <version>6.21.2</version>
            </dependency>
    
            <!-- https://mvnrepository.com/artifact/net.sf.jasperreports/jasperreports-fonts -->
            <dependency>
                <groupId>net.sf.jasperreports</groupId>
                <artifactId>jasperreports-fonts</artifactId>
                <version>6.21.2</version>
            </dependency>
            
            <!-- https://mvnrepository.com/artifact/com.fathzer/javaluator -->
            <dependency>
                <groupId>com.fathzer</groupId>
                <artifactId>javaluator</artifactId>
                <version>3.0.3</version>
            </dependency>
            
        </dependencies>
    
        <build>
            <plugins>
                
                
                        
                <plugin>
                    <groupId>cz.habarta.typescript-generator</groupId>
                    <artifactId>typescript-generator-maven-plugin</artifactId>
                    <version>3.2.1263</version>
                    <executions>
                        <execution>
                            <id>generate</id>
                            <goals>
                                <goal>generate</goal>
                            </goals>
                            <phase>process-classes</phase>
                        </execution>
                    </executions>
                    <configuration>
                        <jsonLibrary>jackson2</jsonLibrary>
                        <classPatterns>br.com.acme.models.*</classPatterns>
                        <classPatterns>br.com.acme.dto.*</classPatterns>
                        <classPatterns>br.com.acme.config.jwt.payload.AuthenticationRequest*</classPatterns>
                        
                        <classPatterns>
                            <pattern>br.com.acme.models.*</pattern>
                            <pattern>br.com.acme.dto.*</pattern>
                            <pattern>br.com.acme.config.jwt.payload.AuthenticationRequest*</pattern>
                        </classPatterns>
                        
                        <outputKind>module</outputKind>
                    </configuration>
                </plugin>
                        
                <plugin>
                    <groupId>org.hibernate.orm.tooling</groupId>
                    <artifactId>hibernate-enhance-maven-plugin</artifactId>
                    <version>${hibernate.version}</version>
                    <executions>
                        <execution>
                            <id>enhance</id>
                            <goals>
                                <goal>enhance</goal>
                            </goals>
                            <configuration>
                                <enableLazyInitialization>true</enableLazyInitialization>
                                <enableDirtyTracking>true</enableDirtyTracking>
                                <enableAssociationManagement>true</enableAssociationManagement>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.graalvm.buildtools</groupId>
                    <artifactId>native-maven-plugin</artifactId>
                </plugin>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <configuration>
                        <excludes>
                            <exclude>
                                <groupId>org.projectlombok</groupId>
                                <artifactId>lombok</artifactId>
                            </exclude>
                        </excludes>
                    </configuration>
                </plugin>
                
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.12.1</version>
                    <configuration>
                        <source>17</source>  
                        <target>17</target>
                        <annotationProcessorPaths>
                            <path>
                                <!-- https://mvnrepository.com/artifact/org.mapstruct/mapstruct-processor -->
                                <groupId>org.mapstruct</groupId>
                                <artifactId>mapstruct-processor</artifactId>
                                <version>1.5.5.Final</version>
                            </path>
                            <path>
                                <groupId>org.projectlombok</groupId>
                                <artifactId>lombok</artifactId>
                                <version>1.18.20</version>
                            </path>
                            <path>
                                <groupId>org.projectlombok</groupId>
                                <artifactId>lombok-mapstruct-binding</artifactId>
                                <version>0.2.0</version>
                            </path>
                        </annotationProcessorPaths>
                        
    
                    </configuration>
                </plugin>
                
            </plugins>
        </build>
    
    </project>
java spring-boot openapi swagger-ui springdoc
1个回答
0
投票

从 pom.xml 中删除以下内容解决了该问题。

   <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-data-rest</artifactId>
    </dependency>
© www.soinside.com 2019 - 2024. All rights reserved.