springBoot 配置文件 spring.mvc.throw-exception-if-no-handler-found 参数的作用

在这里插入图片描述
在Spring Boot应用中,可以通过配置文件来控制当找不到请求处理器(handler)时是否抛出异常。具体的配置参数是spring.mvc.throw-exception-if-no-handler-found

默认情况下,该参数的值为false,即当找不到请求处理器时,Spring MVC会返回404 Not Found响应。如果将该参数设置为true,则当找不到请求处理器时,Spring MVC会抛出NoHandlerFoundException异常。

以下是对该配置参数的不同取值的说明:

  • spring.mvc.throw-exception-if-no-handler-found=true:当找不到请求处理器时,Spring MVC会抛出NoHandlerFoundException异常,并且可以自定义一个异常处理器来处理该异常。
  • spring.mvc.throw-exception-if-no-handler-found=false(默认值):当找不到请求处理器时,Spring MVC会返回404 Not Found响应,客户端会收到一个简单的HTTP错误响应。

通常情况下,设置为默认值即可,当找不到请求处理器时返回404响应是比较合理和常见的做法。如果有特殊需求,例如需要在找不到处理器时抛出异常以便进行其他处理,可以将该参数设置为true

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Java Knife4j-Spring-Boot-Starter 是一个集成了 Swagger(一个用于API文档生成和管理的工具)的 Spring Boot Starter,用于简化在 Spring Boot 项目中集成 Swagger 的配置和使用。 Whitelabel Error Page 是 Spring 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 文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

羽露风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值