spring-boot中的自定义404错误页面

用户1583209

我正在尝试为 SpringMvc(Spring-boot 版本 1.5.1)中的无效 URL 创建自定义错误页面。

为了禁用默认的白标签错误页面,我有:

应用程序属性

spring.thymeleaf.cache=false
server.error.whitelabel.enabled=false
spring.mvc.throw-exception-if-no-handler-found=true
spring.resources.add-mappings=false

我的异常处理程序是:

RestResponseEntityExceptionHandler.java

@ControllerAdvice 
public class RestResponseEntityExceptionHandler extends ResponseEntityExceptionHandler {

    public RestResponseEntityExceptionHandler() {
        super();
    }

    @Override
    protected ResponseEntity<Object> handleNoHandlerFoundException(NoHandlerFoundException ex,
        HttpHeaders headers, HttpStatus status, WebRequest request) {
        logger.error("404 Status Code", ex);
        final GenericResponse bodyOfResponse = new GenericResponse(messages.getMessage("No such page", null, request.getLocale()), "NoHandlerFound");
        return handleExceptionInternal(ex, bodyOfResponse, new HttpHeaders(), HttpStatus.NOT_FOUND, request);
    }
}

这在原理上是有效的。如果我在浏览器中访问无效的 URL,我会得到一个 JSON,如下所示:

{"message":"没有那个页面","error":"NoHandlerFound"}

我想显示一个正确的 HTML 视图(类似于白标签页面),而不是 JSON 响应。这应该是一个模板,我可以在其中替换“消息”字符串。我该如何渲染这个视图?

杰森·怀特

使用 Spring Boot 和 Spring MVC,您可以在资源/公共下创建一个错误文件夹并放置您的客户错误页面。春天会把它们捡起来。

src/
+- main/
   +- java/
   |   + <source code>
   +- resources/
       +- public/
           +- error/
           |   +- 404.html
           +- <other public assets>

如果您不使用 Spring MVC,则必须通过实现自己的错误页面注册器来注册错误页面。

@Bean
public ErrorPageRegistrar errorPageRegistrar(){
    return new MyErrorPageRegistrar();
}

private static class MyErrorPageRegistrar implements ErrorPageRegistrar {

    // Register your error pages and url paths.
    @Override
    public void registerErrorPages(ErrorPageRegistry registry) {
        registry.addErrorPages(new ErrorPage(HttpStatus.BAD_REQUEST, "/400"));
    }

}

http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-error-handling-custom-error-pages

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Spring Boot和自定义404错误页面

来自分类Dev

spring boot中的自定义错误页面

来自分类Dev

Spring Boot/Security - 自定义 404 页面

来自分类Dev

Spring MVC:如何返回自定义404错误页面?

来自分类Dev

捕获 404 错误 spring boot 以返回自定义 html

来自分类Dev

如何通过在Spring MVC中返回自定义的错误页面来全局处理404异常?

来自分类Dev

如何通过在Spring MVC中返回自定义的错误页面来全局处理404异常?

来自分类Dev

在Spring Boot应用程序中重定向到自定义错误页面时出错

来自分类Dev

Spring Boot自定义登录页面

来自分类Dev

Spring Boot-具有独立tomcat的自定义404页面

来自分类Dev

使用JSP解析器时,无法启动Spring Boot 1.4中的自定义错误页面

来自分类Dev

带有spring-boot的spring-security,自定义登录页面,错误403

来自分类Dev

从自定义静态位置提供静态HTML时,Spring Boot抛出404错误

来自分类Dev

Spring Security自定义登录页面返回404

来自分类Dev

当用户在Spring Boot应用程序中输入无效的URL时,如何显示自定义404页面?

来自分类Dev

无法在Spring Boot Security中登录我的自定义登录页面

来自分类Dev

基于Spring Java的自定义错误页面配置

来自分类Dev

Spring Boot + Thymeleaf自定义错误消息

来自分类Dev

Spring Boot自定义http错误响应?

来自分类Dev

Spring Boot-以独立方式启动应用程序时不显示自定义错误页面(java -jar)

来自分类Dev

Rest Service中的Spring Boot自定义异常

来自分类Dev

如何在Spring Boot 1.4中自定义Jackson

来自分类Dev

在Spring Boot中编写自定义查询

来自分类Dev

Spring boot 禁用自定义 HealthIndicator

来自分类Dev

Spring Security自定义登录错误

来自分类Dev

自定义Spring Oauth错误

来自分类Dev

通过Java代码配置的具有Spring Security的自定义403错误页面

来自分类Dev

Spring \ Spring Boot:是否需要自定义验证器?

来自分类Dev

如何在Spring MVC(非Spring Boot)应用程序中自定义Jackson

Related 相关文章

  1. 1

    Spring Boot和自定义404错误页面

  2. 2

    spring boot中的自定义错误页面

  3. 3

    Spring Boot/Security - 自定义 404 页面

  4. 4

    Spring MVC:如何返回自定义404错误页面?

  5. 5

    捕获 404 错误 spring boot 以返回自定义 html

  6. 6

    如何通过在Spring MVC中返回自定义的错误页面来全局处理404异常?

  7. 7

    如何通过在Spring MVC中返回自定义的错误页面来全局处理404异常?

  8. 8

    在Spring Boot应用程序中重定向到自定义错误页面时出错

  9. 9

    Spring Boot自定义登录页面

  10. 10

    Spring Boot-具有独立tomcat的自定义404页面

  11. 11

    使用JSP解析器时,无法启动Spring Boot 1.4中的自定义错误页面

  12. 12

    带有spring-boot的spring-security,自定义登录页面,错误403

  13. 13

    从自定义静态位置提供静态HTML时,Spring Boot抛出404错误

  14. 14

    Spring Security自定义登录页面返回404

  15. 15

    当用户在Spring Boot应用程序中输入无效的URL时,如何显示自定义404页面?

  16. 16

    无法在Spring Boot Security中登录我的自定义登录页面

  17. 17

    基于Spring Java的自定义错误页面配置

  18. 18

    Spring Boot + Thymeleaf自定义错误消息

  19. 19

    Spring Boot自定义http错误响应?

  20. 20

    Spring Boot-以独立方式启动应用程序时不显示自定义错误页面(java -jar)

  21. 21

    Rest Service中的Spring Boot自定义异常

  22. 22

    如何在Spring Boot 1.4中自定义Jackson

  23. 23

    在Spring Boot中编写自定义查询

  24. 24

    Spring boot 禁用自定义 HealthIndicator

  25. 25

    Spring Security自定义登录错误

  26. 26

    自定义Spring Oauth错误

  27. 27

    通过Java代码配置的具有Spring Security的自定义403错误页面

  28. 28

    Spring \ Spring Boot:是否需要自定义验证器?

  29. 29

    如何在Spring MVC(非Spring Boot)应用程序中自定义Jackson

热门标签

归档