Spring Boot “Whitelabel Error Page“错误(路径正确但是访问不到)

Spring Boot "Whitelabel Error Page"错误

浏览器错误是下面的,控制台错误记不得了,但是是什么初始化失败。

Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.

Sun Oct 25 09:03:49 CST 2020 There was an unexpected error (type=Not
Found, status=404).

在第一次使用spring initializr创建spring boot项目时,前面的一切顺利,查看pom文件,发现里面的spring-boot-starter-parent爆红,查看之后发现本地库确实有, 网上查了一天都没有解决,第二天莫名其妙的这个问题就好了。
容器启动成功后,打开localhost:8080/访问路径,却发现这个异常,
首先出现这个问题第一反应查看是不是访问路径写错了,多次查看后确定是没有写错的,然后就开始上网搜索,费劲千辛万苦,终于找到了解决办法。

问题原因: controller文件不能和application处于同一级别目录下,例如,不能是com.controller和com.app,否则会扫描不到。

解决办法: 将com.app目录删除,让主入口application直接处于和com.controller同一级别目录下就好了

Java Knife4j-Spring-Boot-Starter 是一个集成了 Swagger(一个用于API文档生成和管理的工具)的 Spring Boot Starter,用于简化在 Spring Boot 项目中集成 Swagger 的配置和使用。 Whitelabel Error PageSpring Boot 提供的一个默认错误处理页面,用于在发生异常或错误时向用户展示错误信息。当没有自定义错误处理页面时,Spring Boot 会自动跳转至 Whitelabel Error Page。 在使用 Java Knife4j-Spring-Boot-Starter 集成 Swagger 时,可能会遇到 Whitelabel Error Page 的情况。这通常是因为配置的路径与已有的 Spring Boot 配置发生了冲突,导致请求无法正确路由到对应的 Controller。 解决这个问题的方法有两种: 1. 修改 Swagger 配置的路径:可以通过在 application.properties(或 application.yml)文件中修改 swagger.apiBasePackage 的值来更改 Swagger 的路径配置,确保与已有的配置不发生冲突。 2. 自定义错误处理页面:如果不希望使用默认的 Whitelabel Error Page,可以自定义一个错误处理页面来替代。可以通过编写一个继承自 ErrorController 的 Controller 类,并在其中自定义错误处理逻辑和返回页面。然后,在 application.properties(或 application.yml)文件中配置 spring.mvc.throw-exception-if-no-handler-found 和 spring.mvc.static-path-pattern 属性,将其设置为 false 和 /,以禁用 Spring Boot 的默认处理方式。 通过以上两种方法之一,可以解决 Java Knife4j-Spring-Boot-Starter 与 Whitelabel Error Page 的冲突问题,并能够正常使用 Swagger 生成和管理 API 文档。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值