我正在尝试使用Springfox和以下https://www.baeldung.com/swagger-2-documentation-for-spring-rest-api文档从springboot项目生成Swagger文档。
最初,由于我在应用程序中使用OAuth2,因此出现错误“需要完全授权才能访问资源”。我更改了配置,以允许所有以/swagger-ui.html结尾的请求。
现在,当我尝试在本地访问/swagger-ui.html时,我已经收到“ WhiteLabel错误页面-该应用程序没有针对/ error的显式映射”。
我经历了很多帖子,但是没有一个解决方案对我有用-我没有使用@webmvcconfiguration,它可能会造成干扰。 有人可以帮忙吗?
答案 0 :(得分:1)
对于Swagger 3.0,URL更改为
答案 1 :(得分:0)
swagger-ui.html页面进行了许多调用以获取所有详细信息。如果使用浏览器的开发工具(通常只需按F12键即可打开),您会在“网络”标签中看到失败的请求。您需要允许请求
"/v2/api-docs",
"/swagger-resources/**",
"/swagger-ui.html**",
"/webjars/**"
springfox docs中有一些信息,请查找“安全性”或“授权”
答案 2 :(得分:0)
从pom.xml中删除v2依赖项或将其注释掉。
<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>3.0.0</version>
</dependency>
添加springfox-boot-starter
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
在浏览器中将URL更改为: http:// localhost:8080 / swagger-ui / index.html
URL的一般格式为:
有关更多信息,请检查指向相关文档的此链接: https://springfox.github.io/springfox/docs/snapshot/#changes-in-swagger-ui
答案 3 :(得分:0)
这就是我解决问题的方式。如果有人想看,这是我的详细代码。
https://github.com/xbox2204/SpringBoot-JPA-Swagger
现在,我使用了3.0.0-SNAPSHOT和我从此处创建的最新的spring-boot入门项目:
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>3.0.0-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>org.springframework.plugin</groupId>
<artifactId>spring-plugin-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>3.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework.plugin</groupId>
<artifactId>spring-plugin-core</artifactId>
<version>2.0.0.RELEASE</version>
</dependency>
spring.resources.add-mappings=true
@EnableWebMvc
@EnableSwagger2
@SpringBootApplication
@Bean
public Docket productApi() {
Contact contact =new Contact(
"Vineet Mishra",
"https://github.com/xbox2204",
"whatwillyoudo@withmyemail.com"
);
ApiInfo apiInfo= new ApiInfoBuilder().title("VINEET SPRING-BOOT API")
.description("Spring-Boot for all")
.termsOfServiceUrl("jUST CHILL!!!")
.contact(contact)
.licenseUrl("something@something.com").version("1.0").build();
return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo)
.select()
.apis(RequestHandlerSelectors.any())
.build();
}
http:// localhost:8080 / swagger-ui / index.html#