在Postman中测试GET方法时,我收到了一个405-方法不允许的错误。在浏览器中,当尝试使用swagger-ui
时,我收到一个白色标签错误页。
我使用的是Java 17,Spring Boot 2.7.3,我使用的是Swagger 3.0。
这是Swagger配置。我不得不删除@Configuration
,因为在使用该注解时,Spring Boot无法启动,而DocumentationType.OAS_30
在这里,而不是SWAGGER_2
,因为我使用的是Swagger 3.0。
package hr.ogcs.blueprint;
import org.springframework.context.annotation.Bean;
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;
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.OAS_30).select()
.apis(RequestHandlerSelectors.basePackage("hr.ogcs.blueprint"))
.paths(PathSelectors.any()).build();
}
}
这是Gradle的配置。我尝试使用springfox-boot-starter
依赖项,但Spring Boot无法启动它。因此,我添加了swagger2
和swagger-ui
依赖项。
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-mongodb'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'io.springfox:springfox-swagger2:3.0.0'
implementation 'io.springfox:springfox-swagger-ui:3.0.0'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
1条答案
按热度按时间o8x7eapl1#
这里有一个解决方案:
为了解决这个问题,我放弃了Springfox库,而使用了另一个名为SpringDoc的库。Springfox显然仍然不能在Swagger 3.0上运行,所以从你的Gradle中删除以下内容:
解决办法很简单。改用这个依赖项,一切都会像魔咒一样工作:
您不需要任何额外的Swagger配置文件或任何注解。现在转到
http://localhost:8080/swagger-ui.html
查看结果。我在Baeldung跟踪了this tutorial。