Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在application.yaml(spring boot)中禁用白标签错误页_Java_Spring Boot - Fatal编程技术网

Java 如何在application.yaml(spring boot)中禁用白标签错误页

Java 如何在application.yaml(spring boot)中禁用白标签错误页,java,spring-boot,Java,Spring Boot,我有一个遗留的Java monolith后端,为RESTAPI(SpringBootV1.5.9,gradle)提供服务,我必须不时维护它。请求禁用此错误页: “此应用程序没有/error的显式映射,因此您将其视为回退 美国东部时间2021年3月10日星期三13:41:12 出现意外错误(类型=内部服务器错误,状态=500)。” 我试图删除这条消息,但大多数建议都解释了如何在“application.properties”文件中删除它,而我的项目根本没有这个文件。相反,我有application

我有一个遗留的Java monolith后端,为RESTAPI(SpringBootV1.5.9,gradle)提供服务,我必须不时维护它。请求禁用此错误页:

“此应用程序没有/error的显式映射,因此您将其视为回退

美国东部时间2021年3月10日星期三13:41:12 出现意外错误(类型=内部服务器错误,状态=500)。”

我试图删除这条消息,但大多数建议都解释了如何在“application.properties”文件中删除它,而我的项目根本没有这个文件。相反,我有application.yaml文件,我在其中添加了以下配置:

spring:
  autoconfigure:
    exclude:
      - org.springframework.boot.autoconfigure.web.servlet.error.ErrorMvcAutoConfiguration
但我仍然看到相同的错误页面

其他建议告诉我在“main”类上做些什么,不幸的是,我的项目也没有

我还试图实现
ErrorController
以获得自己的错误页面,但我的控制器根本没有注册。这个遗留应用程序没有遵循标准的项目结构建议,因此任何指向spring boot文档中示例结构的链接都不会对我有帮助


如果要禁用默认的“白标签错误页”,请提供禁用白标签错误页或实施
ErrorController

的建议。如果要禁用默认的“白标签错误页”,请添加:

server:
    //..optionally, some other properties
    error:
        whitelabel:
            enabled: false
    //..optionally, some other properties
应用程序中.yml

但是,如果要覆盖该页面,而不是禁用该页面并显示application server的默认错误页面,则有几种方法:

  • 创建自定义的
    error.html
    页面,将其放在
    templates
    文件夹下(或从中获取视图的任何位置),Spring Boot的默认
    BasicErrorController
    将自动将其作为一般错误页面获取,即-对于所有HTTP错误代码

  • 您可以更具体一些,为不同的HTTP错误代码创建不同的错误页面。
    使用您要处理的HTTP状态代码命名错误文件,并将其保存在
    resources\templates\error\
    中。这样,您可能有多个错误页面,它们将用于相应的HTTP错误。例如,当发生HTTP 404时,将返回
    404.html


  • 我希望这有帮助。

    谢谢。禁用是可行的,但我没有模板文件夹,因为在这个只作为RESTAPI服务器工作的monolith后端中根本没有视图。我在一个参考资料文件夹下创建了一个,但它不起作用。我放弃了。RESTAPI不返回视图。你必须决定你想做什么。。REST API返回错误响应,其中包含一些信息,如错误代码、原因等。如果根本没有视图,那么您可能需要动态构造视图,并将该视图和
    内容类型
    头都写入
    HttpServletResponse
    对象中。。您可以将此视图构造提取到其他方法中。在RESTAPI中使用视图不是一个好主意。